public Content getTagletOutput(Element holder, DocTree tag, TagletWriter writer) {
        Utils utils = writer.configuration().utils;
        Messages messages = writer.configuration().getMessages();
        VariableElement field = getVariableElement(holder, writer.configuration(), tag);
        if (field == null) {
            if (tag.toString().isEmpty()) {
                //Invalid use of @value
                messages.warning(holder,
                        "doclet.value_tag_invalid_use");
            } else {
                //Reference is unknown.
                messages.warning(holder,
                        "doclet.value_tag_invalid_reference", tag.toString());
            }
        } else if (field.getConstantValue() != null) {
            return writer.valueTagOutput(field,
                utils.constantValueExpresion(field),
                // TODO: investigate and cleanup
                // in the j.l.m world, equals will not be accurate
                // !field.equals(tag.holder())
                !utils.elementsEqual(field, holder)
            );
        } else {
            //Referenced field is not a constant.
            messages.warning(holder,
                "doclet.value_tag_invalid_constant", utils.getSimpleName(field));
        }
        return writer.getOutputInstance();
    }
public Content getTagletOutput ( Element holder , DocTree tag , TagletWriter writer ) { Utils utils = writer . configuration ( ) . utils ; Messages messages = writer . configuration ( ) . getMessages ( ) ; VariableElement field = getVariableElement ( holder , writer . configuration ( ) , tag ) ; if ( field == null ) { if ( tag . toString ( ) . isEmpty ( ) ) { messages . warning ( holder , "doclet.value_tag_invalid_use" ) ; } else { messages . warning ( holder , "doclet.value_tag_invalid_reference" , tag . toString ( ) ) ; } } else if ( field . getConstantValue ( ) != null ) { return writer . valueTagOutput ( field , utils . constantValueExpresion ( field ) , ! utils . elementsEqual ( field , holder ) ) ; } else { messages . warning ( holder , "doclet.value_tag_invalid_constant" , utils . getSimpleName ( field ) ) ; } return writer . getOutputInstance ( ) ; }
{@inheritDoc}