private <T extends ValueDescriptor<?>> T createValue(Class<T> type, String name) {
        if (name != null) {
            this.arrayValueDescriptor = null;
        }
        String valueName;
        if (arrayValueDescriptor != null) {
            valueName = "[" + getArrayValue().size() + "]";
        } else {
            valueName = name;
        }
        T valueDescriptor = visitorHelper.getValueDescriptor(type);
        valueDescriptor.setName(valueName);
        return valueDescriptor;
    }
private < T extends ValueDescriptor < ? > > T createValue ( Class < T > type , String name ) { if ( name != null ) { this . arrayValueDescriptor = null ; } String valueName ; if ( arrayValueDescriptor != null ) { valueName = "[" + getArrayValue ( ) . size ( ) + "]" ; } else { valueName = name ; } T valueDescriptor = visitorHelper . getValueDescriptor ( type ) ; valueDescriptor . setName ( valueName ) ; return valueDescriptor ; }
Create a value descriptor of given type and name and initializes it.

@param type
The class type.
@param name
The name
@param <T>
The type.
@return The initialized descriptor.