code: private void buildSummary(MemberSummaryWriter writer,
              VisibleMemberMap visibleMemberMap, LinkedList<Content> summaryTreeList) {
          List<ProgramElementDoc> members = new ArrayList<ProgramElementDoc>(visibleMemberMap.getLeafClassMembers(
                  configuration));
          if (members.size() > 0) {
              Collections.sort(members);
              List<Content> tableContents = new LinkedList<Content>();
              for (int i = 0; i < members.size(); i++) {
                  ProgramElementDoc member = members.get(i);
                  final ProgramElementDoc propertyDoc =
                              visibleMemberMap.getPropertyMemberDoc(member);
                  if (propertyDoc != null) {
                      processProperty(visibleMemberMap, member, propertyDoc);
                  }
                  Tag[] firstSentenceTags = member.firstSentenceTags();
                  if (member instanceof MethodDoc && firstSentenceTags.length == 0) {
                      //Inherit comments from overriden or implemented method if
                      //necessary.
                      DocFinder.Output inheritedDoc =
                              DocFinder.search(new DocFinder.Input((MethodDoc) member));
                      if (inheritedDoc.holder != null
                              && inheritedDoc.holder.firstSentenceTags().length > 0) {
                          firstSentenceTags = inheritedDoc.holder.firstSentenceTags();
                      }
                  }
                  writer.addMemberSummary(classDoc, member, firstSentenceTags,
                          tableContents, i);
              }
              summaryTreeList.add(writer.getSummaryTableTree(classDoc, tableContents));
          }
      }
docs: Build the member summary for the given members.
  
  @param writer the summary writer to write the output.
  @param visibleMemberMap the given members to summarize.
  @param summaryTreeList list of content trees to which the documentation will be added