code: public RamlType newProperty(String name, String type, boolean required, String... values) {
      if (properties == null) {
        properties = new LinkedHashMap<>();
      }
      if (values.length > 0) {
        properties.put(required ? name : name + "?", ImmutableMap.of("enum", values));
      } else {
        properties.put(required ? name : name + "?", type);
      }
      return this;
    }
docs: Defines a new property.
  
  @param name Property name.
  @param type Property type.
  @param required True for required.
  @param values Enum values.
  @return This type.