code: public SyncToolConfig processCommandLine(String[] args) {
          SyncToolConfig config = null;
          try {
              config = processConfigFileOptions(args);
          } catch (ParseException e) {
              printHelp(e.getMessage());
          }
          return config;
      }
docs: Parses command line configuration into an object structure, validates
  correct values along the way.
  
  Prints a help message and exits the JVM on parse failure.
  
  @param args command line configuration values
  @return populated SyncToolConfig