title: Interpreting java.lang.NoSuchMethodError message
body: <p>I get the following runtime error message (along with the first line of the stack trace, which points to line 94).  I'm trying to figure out why it says no such method exists.</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>Line 94 of writeSummaryLink is shown below.</p>
  
  <p><strong>QUESTIONS</strong><br>
  What does "ILcom" or "Z" mean?<br>
  Why there are four types in parentheses 
      (ILcom/sun/javadoc/ClassDoc;Lcom/sun/javadoc/MemberDoc;Ljava/lang/String;Z) 
  and one after the parentheses
      Ljava/lang/String;
  when the method printDocLinkForMenu clearly has five parameters?</p>
  
  <p><strong>CODE DETAIL</strong><br>
  The writeSummaryLink method is:</p>
  
  <pre><code>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);
  }
  </code></pre>
  
  <p>Here's the method line 94 is calling:</p>
  
  <pre><code>public void printDocLinkForMenu(int context, ClassDoc classDoc, MemberDoc doc,
          String label, boolean strong) {
      String docLink = getDocLink(context, classDoc, doc, label, strong);
      print(deleteParameterAnchors(docLink));
  }
  </code></pre>