code: 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;
      }
docs: 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.