class TextElementName extends ElementName {

    final String completeNamespacedElementName;



    static TextElementName forName(final String prefix, final String elementName) {<FILL_FUNCTION_BODY>}


    private TextElementName(
            final String prefix, final String elementName,
            final String completeNamespacedElementName,
            final String[] completeElementNames) {

        super(prefix, elementName, completeElementNames);
        this.completeNamespacedElementName = completeNamespacedElementName;

    }



    public String getCompleteNamespacedElementName() {
        return this.completeNamespacedElementName;
    }

}


        final boolean hasPrefix = prefix != null && prefix.length() > 0;

        final String completeNamespacedElementName;
        final String[] completeElementNames;

        if (hasPrefix) {

            completeNamespacedElementName = prefix + ":" + elementName;
            completeElementNames = new String[] { completeNamespacedElementName };

        } else {

            completeNamespacedElementName = elementName;
            completeElementNames = new String[] { elementName };

        }

        return new TextElementName(
                prefix, elementName,
                completeNamespacedElementName, completeElementNames);

    
<methods>public boolean equals(java.lang.Object) ,public java.lang.String[] getCompleteElementNames() ,public java.lang.String getElementName() ,public java.lang.String getPrefix() ,public int hashCode() ,public boolean isPrefixed() ,public java.lang.String toString() <variables>protected final non-sealed java.lang.String[] completeElementNames,protected final non-sealed java.lang.String elementName,private final non-sealed int h,protected final non-sealed java.lang.String prefix