private List<EnvironmentStatus> getEnvironmentStatus(
      List<ApplicationDeploymentHistoryItem> dataList) {
    List<EnvironmentStatus> returnList = new ArrayList<>();
    Map<String, List<String>> tempStorage = new HashMap<String, List<String>>();

    for (ApplicationDeploymentHistoryItem data : dataList) {

      List<String> machineIds = null;

      if (!tempStorage.containsKey(data.getApplicationId())) {
        machineIds = new ArrayList<>();
        tempStorage.put(data.getApplicationId(), machineIds);
      } else {
        machineIds = tempStorage.get(data.getApplicationId());
      }

      for (Machine machine : data.getMachines()) {

        if (!machineIds.contains(machine.getMachineId())) {
          EnvironmentStatus status = new EnvironmentStatus();
          status.setCollectorItemId(data.getCollectorItemId());
          status.setComponentID(data.getApplicationId());
          status.setComponentName(data.getApplicationName());
          status.setEnvironmentName(data.getEnvironmentName());
          status.setOnline(machine.isStatus()); // for testing
          status.setResourceName(machine.getMachineName()); // for testing
          status.setHostname(machine.getHostName());
          returnList.add(status);
          machineIds.add(machine.getMachineId());
        }
      }
    }
    return returnList;
  }