private void finishInitialization(EnvironmentVariableHandler handler) {
    List<Pair<String, EnvironmentVariableSpecs.Spec>> list = handler.getSpecs().getAllSpecs();
    for (Pair<String, EnvironmentVariableSpecs.Spec> pair : list) {
      String name = pair.getL();
      EnvironmentVariableSpecs.Spec spec = pair.getR();
      if (CliUtil.isNullOrEmpty(handler.getEnvironmentVariable(name))) {
        handler.setEnvironmentVariable(name, spec.getDefaultValue());
      }
    }
  }
Gives CliEnvironment a chance to apply settings, especially during initialization, things like
making default values take effect
samza-sql-shell/src/main/java/org/apache/samza/sql/client/cli/CliEnvironment.java