static String[] init() {
    List<String> atts = new ArrayList<>();
    for (Field field : DistributionConfig.class.getDeclaredFields()) {
      if (field.isAnnotationPresent(ConfigAttribute.class)) {
        field.setAccessible(true);
        try {
          atts.add((String) field.get(null));
          attributes.put((String) field.get(null), field.getAnnotation(ConfigAttribute.class));
        } catch (IllegalAccessException e) {
          // field.setAccessible() will throw a SecurityException if it fails
        }
      } else if (field.isAnnotationPresent(InternalConfigAttribute.class)) {
        field.setAccessible(true);
        try {
          internalAttributeNames.add((String) field.get(null));
        } catch (IllegalAccessException e) {
          // field.setAccessible() will throw a SecurityException if it fails
        }
      }
    }

    for (Method method : DistributionConfig.class.getDeclaredMethods()) {
      if (method.isAnnotationPresent(ConfigAttributeGetter.class)) {
        ConfigAttributeGetter getter = method.getAnnotation(ConfigAttributeGetter.class);
        getters.put(getter.name(), method);
      } else if (method.isAnnotationPresent(ConfigAttributeSetter.class)) {
        ConfigAttributeSetter setter = method.getAnnotation(ConfigAttributeSetter.class);
        setters.put(setter.name(), method);
      }
    }
    Collections.sort(atts);
    return atts.toArray(new String[0]);
  }
Returns true if locators and mcast-port are not configured.
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfig.java