/**
  * Build the method tags.
  *
  * @param node the XML element that specifies which components to document
  * @param methodsContentTree content tree to which the documentation will be added
  */
 public void buildMethodTags(XMLNode node, Content methodsContentTree) {
   methodWriter.addMemberTags((MethodDoc) currentMember, methodsContentTree);
   MethodDoc method = (MethodDoc) currentMember;
   if (method.name().compareTo("writeExternal") == 0 && method.tags("serialData").length == 0) {
     if (configuration.serialwarn) {
       configuration
           .getDocletSpecificMsg()
           .warning(
               currentMember.position(),
               "doclet.MissingSerialDataTag",
               method.containingClass().qualifiedName(),
               method.name());
     }
   }
 }
  /**
   * Build the comments for the method. Do nothing if {@link Configuration#nocomment} is set to
   * true.
   *
   * @param node the XML element that specifies which components to document
   * @param methodDocTree the content tree to which the documentation will be added
   */
  public void buildMethodComments(XMLNode node, Content methodDocTree) {
    if (!configuration.nocomment) {
      MethodDoc method = (MethodDoc) methods.get(currentMethodIndex);

      if (method.inlineTags().length == 0) {
        DocFinder.Output docs = DocFinder.search(configuration, new DocFinder.Input(method));
        method =
            docs.inlineTags != null && docs.inlineTags.length > 0
                ? (MethodDoc) docs.holder
                : method;
      }
      // NOTE:  When we fix the bug where ClassDoc.interfaceTypes() does
      //       not pass all implemented interfaces, holder will be the
      //       interface type.  For now, it is really the erasure.
      writer.addComments(method.containingClass(), method, methodDocTree);
    }
  }