Interpretación del mensaje java.lang.NoSuchMethodError

Recibo el siguiente mensaje de error de tiempo de ejecución (junto con la primera línea del seguimiento de la pila, que apunta a la línea 94). Estoy tratando de entender por qué dice que no existe tal método.

java.lang.NoSuchMethodError: 
com.sun.tools.doclets.formats.html.SubWriterHolderWriter.printDocLinkForMenu(
    ILcom/sun/javadoc/ClassDoc;Lcom/sun/javadoc/MemberDoc;
    Ljava/lang/String;Z)Ljava/lang/String;
at com.sun.tools.doclets.formats.html.AbstractExecutableMemberWriter.writeSummaryLink(
    AbstractExecutableMemberWriter.java:94)

La línea 94 de writeSummaryLink se muestra a continuación.

PREGUNTAS
¿Qué significa "ILcom" o "Z"?
¿Por qué hay cuatro tipos de paréntesis (ILcom / sun / javadoc / ClassDoc; Lcom / sun / javadoc / MemberDoc; Ljava / lang / String; Z) y uno después de los paréntesis Ljava / lang / String; cuando el método printDocLinkForMenu claramente tiene cinco parámetros?

DETALLE DEL CÓDIGO
El método writeSummaryLink es:

protected void writeSummaryLink(int context, ClassDoc cd, ProgramElementDoc member) {
    ExecutableMemberDoc emd = (ExecutableMemberDoc)member;
    String name = emd.name();
    writer.strong();
    writer.printDocLinkForMenu(context, cd, (MemberDoc) emd, name, false);  // 94
    writer.strongEnd();
    writer.displayLength = name.length();
    writeParameters(emd, false);
}

Aquí está el método que llama la línea 94:

public void printDocLinkForMenu(int context, ClassDoc classDoc, MemberDoc doc,
        String label, boolean strong) {
    String docLink = getDocLink(context, classDoc, doc, label, strong);
    print(deleteParameterAnchors(docLink));
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta