code: @Override
      public void addClassSignature(String modifiers, Content classInfoTree) {
          classInfoTree.addContent(new HtmlTree(HtmlTag.BR));
          Content pre = new HtmlTree(HtmlTag.PRE);
          addAnnotationInfo(typeElement, pre);
          pre.addContent(modifiers);
          LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
                  LinkInfoImpl.Kind.CLASS_SIGNATURE, typeElement);
          //Let's not link to ourselves in the signature.
          linkInfo.linkToSelf = false;
          Content className = new StringContent(utils.getSimpleName(typeElement));
          Content parameterLinks = getTypeParameterLinks(linkInfo);
          if (configuration.linksource) {
              addSrcLink(typeElement, className, pre);
              pre.addContent(parameterLinks);
          } else {
              Content span = HtmlTree.SPAN(HtmlStyle.typeNameLabel, className);
              span.addContent(parameterLinks);
              pre.addContent(span);
          }
          if (!utils.isInterface(typeElement)) {
              TypeMirror superclass = utils.getFirstVisibleSuperClass(typeElement);
              if (superclass != null) {
                  pre.addContent(DocletConstants.NL);
                  pre.addContent("extends ");
                  Content link = getLink(new LinkInfoImpl(configuration,
                          LinkInfoImpl.Kind.CLASS_SIGNATURE_PARENT_NAME,
                          superclass));
                  pre.addContent(link);
              }
          }
          List<? extends TypeMirror> interfaces = typeElement.getInterfaces();
          if (!interfaces.isEmpty()) {
              boolean isFirst = true;
              for (TypeMirror type : interfaces) {
                  TypeElement tDoc = utils.asTypeElement(type);
                  if (!(utils.isPublic(tDoc) || utils.isLinkable(tDoc))) {
                      continue;
                  }
                  if (isFirst) {
                      pre.addContent(DocletConstants.NL);
                      pre.addContent(utils.isInterface(typeElement) ? "extends " : "implements ");
                      isFirst = false;
                  } else {
                      pre.addContent(", ");
                  }
                  Content link = getLink(new LinkInfoImpl(configuration,
                                                          LinkInfoImpl.Kind.CLASS_SIGNATURE_PARENT_NAME,
                                                          type));
                  pre.addContent(link);
              }
          }
          classInfoTree.addContent(pre);
      }
docs: {@inheritDoc}