void setApiProps(Properties apiProps) {
    if (apiProps != null) {
      setSource(apiProps, ConfigSource.api());
      modifiable = true;
      for (final Map.Entry<Object, Object> objectObjectEntry : apiProps.entrySet()) {
        Map.Entry me = (Map.Entry) objectObjectEntry;
        String propName = (String) me.getKey();
        props.put(propName, me.getValue());
        if (isSpecialPropertyName(propName)) {
          continue;
        }
        String propVal = (String) me.getValue();
        if (propVal != null) {
          setAttribute(propName, propVal.trim(), sourceMap.get(propName));
        }
      }
      // Make attributes read only
      modifiable = false;
    }
  }
Produce a DistributionConfigImpl for the given properties and return it.
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java