protected static void addOverridden(HtmlDocletWriter writer,
            TypeMirror overriddenType, ExecutableElement method, Content dl) {
        if (writer.configuration.nocomment) {
            return;
        }
        Utils utils = writer.utils;
        Contents contents = writer.contents;
        TypeElement holder = utils.getEnclosingTypeElement(method);
        if (!(utils.isPublic(holder) ||
            utils.isLinkable(holder))) {
            //This is an implementation detail that should not be documented.
            return;
        }
        if (utils.isIncluded(holder) && ! utils.isIncluded(method)) {
            //The class is included but the method is not.  That means that it
            //is not visible so don't document this.
            return;
        }
        Content label = contents.overridesLabel;
        LinkInfoImpl.Kind context = LinkInfoImpl.Kind.METHOD_OVERRIDES;

        if (method != null) {
            if (utils.isAbstract(holder) && utils.isAbstract(method)){
                //Abstract method is implemented from abstract class,
                //not overridden
                label = contents.specifiedByLabel;
                context = LinkInfoImpl.Kind.METHOD_SPECIFIED_BY;
            }
            Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.overrideSpecifyLabel, label));
            dl.addContent(dt);
            Content overriddenTypeLink =
                    writer.getLink(new LinkInfoImpl(writer.configuration, context, overriddenType));
            Content codeOverridenTypeLink = HtmlTree.CODE(overriddenTypeLink);
            Content methlink = writer.getLink(
                    new LinkInfoImpl(writer.configuration, LinkInfoImpl.Kind.MEMBER,
                    holder)
                    .where(writer.getName(writer.getAnchor(method))).label(method.getSimpleName()));
            Content codeMethLink = HtmlTree.CODE(methlink);
            Content dd = HtmlTree.DD(codeMethLink);
            dd.addContent(Contents.SPACE);
            dd.addContent(writer.contents.inClass);
            dd.addContent(Contents.SPACE);
            dd.addContent(codeOverridenTypeLink);
            dl.addContent(dd);
        }
    }
protected static void addOverridden ( HtmlDocletWriter writer , TypeMirror overriddenType , ExecutableElement method , Content dl ) { if ( writer . configuration . nocomment ) { return ; } Utils utils = writer . utils ; Contents contents = writer . contents ; TypeElement holder = utils . getEnclosingTypeElement ( method ) ; if ( ! ( utils . isPublic ( holder ) || utils . isLinkable ( holder ) ) ) { return ; } if ( utils . isIncluded ( holder ) && ! utils . isIncluded ( method ) ) { return ; } Content label = contents . overridesLabel ; LinkInfoImpl . Kind context = LinkInfoImpl . Kind . METHOD_OVERRIDES ; if ( method != null ) { if ( utils . isAbstract ( holder ) && utils . isAbstract ( method ) ) { label = contents . specifiedByLabel ; context = LinkInfoImpl . Kind . METHOD_SPECIFIED_BY ; } Content dt = HtmlTree . DT ( HtmlTree . SPAN ( HtmlStyle . overrideSpecifyLabel , label ) ) ; dl . addContent ( dt ) ; Content overriddenTypeLink = writer . getLink ( new LinkInfoImpl ( writer . configuration , context , overriddenType ) ) ; Content codeOverridenTypeLink = HtmlTree . CODE ( overriddenTypeLink ) ; Content methlink = writer . getLink ( new LinkInfoImpl ( writer . configuration , LinkInfoImpl . Kind . MEMBER , holder ) . where ( writer . getName ( writer . getAnchor ( method ) ) ) . label ( method . getSimpleName ( ) ) ) ; Content codeMethLink = HtmlTree . CODE ( methlink ) ; Content dd = HtmlTree . DD ( codeMethLink ) ; dd . addContent ( Contents . SPACE ) ; dd . addContent ( writer . contents . inClass ) ; dd . addContent ( Contents . SPACE ) ; dd . addContent ( codeOverridenTypeLink ) ; dl . addContent ( dd ) ; } }
{@inheritDoc}