code: public Property createProperty(final String name,
                                     final ParameterList parameters, final String value)
              throws IOException, URISyntaxException, ParseException {
  
          final PropertyFactory factory = getFactory(name);
          if (factory != null) {
              return factory.createProperty(parameters, value);
          } else if (isExperimentalName(name)) {
              return new XProperty(name, parameters, value);
          } else if (allowIllegalNames()) {
              return new XProperty(name, parameters, value);
          } else {
              throw new IllegalArgumentException("Illegal property [" + name
                      + "]");
          }
      }
docs: {@inheritDoc}