public static void loadInfo(AppResult result, HadoopApplicationData data) {
    Properties properties;
    if (data instanceof SparkApplicationData) {
      properties = retrieveSparkProperties((SparkApplicationData) data);
    } else {
      properties = data.getConf();
    }
    Scheduler scheduler = getSchedulerInstance(data.getAppId(), properties);

    if (scheduler == null) {
      logger.info("No Scheduler found for appid: " + data.getAppId());
      loadNoSchedulerInfo(result);
    } else if (StringUtils.isEmpty(scheduler.getJobDefId()) || StringUtils.isEmpty(scheduler.getJobExecId())
               || StringUtils.isEmpty(scheduler.getFlowDefId()) || StringUtils.isEmpty(scheduler.getFlowExecId())) {
      logger.warn("This job doesn't have the correct " + scheduler.getSchedulerName() + " integration support. I"
                  + " will treat this as an adhoc job");
      logger.info("No Flow/job info found for appid: " + data.getAppId());
      loadNoSchedulerInfo(result);
    } else {
      loadSchedulerInfo(result, data, scheduler);
    }
  }
Loads result with the info depending on the application type

@param result The jobResult to be loaded with.
@param data The Hadoop application data
app/com/linkedin/drelephant/util/InfoExtractor.java