private Content retrieveInheritedDocumentation(TagletWriter writer,
            ProgramElementDoc ped, Tag holderTag, boolean isFirstSentence) {
        Content replacement = writer.getOutputInstance();

        Configuration configuration = writer.configuration();
        Taglet inheritableTaglet = holderTag == null ?
            null : configuration.tagletManager.getTaglet(holderTag.name());
        if (inheritableTaglet != null &&
            !(inheritableTaglet instanceof InheritableTaglet)) {
                String message = ped.name() +
                    ((ped instanceof ExecutableMemberDoc)
                        ? ((ExecutableMemberDoc)ped).flatSignature()
                        : "");
                //This tag does not support inheritence.
                configuration.message.warning(ped.position(),
                "doclet.noInheritedDoc", message);
         }
        DocFinder.Output inheritedDoc =
            DocFinder.search(new DocFinder.Input(ped,
                (InheritableTaglet) inheritableTaglet, holderTag,
                isFirstSentence, true));
        if (inheritedDoc.isValidInheritDocTag) {
            if (inheritedDoc.inlineTags.length > 0) {
                replacement = writer.commentTagsToOutput(inheritedDoc.holderTag,
                    inheritedDoc.holder, inheritedDoc.inlineTags, isFirstSentence);
            }
        } else {
            String message = ped.name() +
                    ((ped instanceof ExecutableMemberDoc)
                        ? ((ExecutableMemberDoc)ped).flatSignature()
                        : "");
            configuration.message.warning(ped.position(),
                "doclet.noInheritedDoc", message);
        }
        return replacement;
    }