spark-executor-protolib/src/main/java/com/streamsets/datacollector/pipeline/executor/spark/yarn/YarnAppLauncher.java
private String[] getNonEmptyArgs(List<String> appArgs) {
    List<String> nonEmpty = new ArrayList<>();
    appArgs.forEach((String val) -> {
      if (!StringUtils.isEmpty(val)) {
        nonEmpty.add(val);
      }
    });
    return nonEmpty.toArray(new String[nonEmpty.size()]);
  }
private String[] getNonEmptyArgs(List<String> appArgs) {
    List<String> nonEmpty = new ArrayList<>();
    appArgs.forEach((String val) -> {
      if (!StringUtils.isEmpty(val)) {
        nonEmpty.add(val);
      }
    });
    return nonEmpty.toArray(new String[nonEmpty.size()]);
  }
If there is a RecordEL, then an arg could eval to empty string. This method returns
args that are not null or empty.