class FragmentSignature implements Serializable {

    private static final long serialVersionUID = 6847640942405961705L;

    private static final char FRAGMENT_SIGNATURE_PARAMETERS_START = '(';
    private static final char FRAGMENT_SIGNATURE_PARAMETERS_END = ')';


    private final String fragmentName;
    private final List<String> parameterNames;



    public FragmentSignature(final String fragmentName, final List<String> parameterNames) {
        super();
        Validate.notEmpty(fragmentName, "Fragment name cannot be null or empty");
        this.fragmentName = fragmentName;
        this.parameterNames = parameterNames;
    }

    
    
    public String getFragmentName() {
        return this.fragmentName;
    }


    public boolean hasParameters() {
        return this.parameterNames != null && this.parameterNames.size() > 0;
    }


    public List<String> getParameterNames() {
        return this.parameterNames;
    }

    
    public String getStringRepresentation() {<FILL_FUNCTION_BODY>}

    
    @Override
    public String toString() {
        return getStringRepresentation();
    }
    


}

        if (this.parameterNames == null || this.parameterNames.size() == 0) {
            return this.fragmentName;
        }
        return this.fragmentName + " " +
                FRAGMENT_SIGNATURE_PARAMETERS_START +
                StringUtils.join(this.parameterNames, ',') +
                FRAGMENT_SIGNATURE_PARAMETERS_END;
    
<no_super_class>