code: private Map<String, String> prepareHeaderRowDataMap(List<String> header, List<String> rowData) {
          Map<String, String> headerRowDataMap = new HashMap<>();
          if (header.size() == rowData.size()) {
              for (int i = 0; i < header.size(); i++) {
                  if (null != header.get(i)) {
                      headerRowDataMap.put(header.get(i).toLowerCase(), rowData.get(i));
                  }
              }
          } else {
              logger.warning("header and columns are not of same size");
          }
          return headerRowDataMap;
      }
docs: /*
  prepares map of excel header row and the the excel data row
  
  @param header the excel header row
  
  @param rowData row data to be used for preparing the return value
  
  @return map of the header row and data row