code: private void loadPreset() {
      String presetName = getJobProps().get(GobblinConstants.GOBBLIN_PRESET_KEY);
      if (presetName == null) {
        return;
      }
  
      GobblinPresets preset = GobblinPresets.fromName(presetName);
      Properties presetProperties = gobblinPresets.get(preset);
      if (presetProperties == null) {
        throw new IllegalArgumentException(
            "Preset " + presetName + " is not supported. Supported presets: "
                + gobblinPresets.keySet());
      }
  
      getLog().info("Loading preset " + presetName + " : " + presetProperties);
      Map<String, String> skipped = Maps.newHashMap();
      for (String key : presetProperties.stringPropertyNames()) {
        if (getJobProps().containsKey(key)) {
          skipped.put(key, presetProperties.getProperty(key));
          continue;
        }
        getJobProps().put(key, presetProperties.getProperty(key));
      }
      getLog().info("Loaded preset " + presetName);
      if (!skipped.isEmpty()) {
        getLog().info(
            "Skipped some properties from preset as already exists in job properties. Skipped: "
                + skipped);
      }
  
      if (getJobProps().getBoolean(GobblinConstants.GOBBLIN_PROPERTIES_HELPER_ENABLED_KEY, true)) {
        getValidator(preset).validate(getJobProps());
      }
    }
docs: If input parameter has preset value, it will load set of properties into job property for the
  Gobblin job.
  Also, if user wants to validates the job properties(enabled by default), it will validate it
  based on the preset where
  preset is basically used as a proxy to the use case.