docs: public String[] applyArgs(String[] clargs) {
      LOG.debug("Applying Command Line Args {}", Arrays.toString(clargs));
      final List<String> nonFlagArgs = new ArrayList<String>(Arrays.asList(clargs));
      extractAndApplyFlags(nonFlagArgs);
      
      String[] args = nonFlagArgs.toArray(new String[0]);
      String[] nonArgs = argp.parse(args);
      LOG.debug("Applying Command Line ArgP {}", argp);
      LOG.debug("configItemsByCl Keys: [{}]", configItemsByCl.toString());
      for(Map.Entry<String, String> entry: argp.getParsed().entrySet()) {
        String key = entry.getKey(), value = entry.getValue();
        ConfigurationItem citem = getConfigurationItemByClOpt(key);
        LOG.debug("Loaded CI for command line option [{}]: Found:{}", key, citem!=null);
        if("BOOL".equals(citem.getMeta())) {        
          citem.setValue(value!=null ? value : "true");
        } else {
          if(value!=null) {
            citem.setValue(processConfigValue(value));              
          }
        }
  //      log("CL Override [%s] --> [%s]", citem.getKey(), citem.getValue());
        config.overrideConfig(citem.getKey(), citem.getValue());                    
      }
      return nonArgs;
    }