code: private Map<String, List<Object>> getHandlesFromProjectDirectory(File projectDir) throws
              IOException {
          File[] collectionDirs = getSubDirectories(projectDir);
  
          Map<String, List<Object>> handleMap = new HashMap<String, List<Object>>();
          if (collectionDirs != null) {
              // iterate through the directories
              for (File directory : collectionDirs) {
                  String collectionName = directory.getName();
                  File[] files = getFilesInDir(directory);
                  if (files != null) {
                      List<Object> handleList = new ArrayList<Object>();
                      handleList.addAll(Arrays.asList(files));
                      handleMap.put(collectionName, handleList);
                  } else {
                      KeenLogging.log("Directory was null while getting event handles: " + collectionName);
                  }
              }
          }
  
          return handleMap;
      }
docs: Gets the handle map for all collections in the specified project cache directory.
  
  @param projectDir The cache directory for the project.
  @return The handle map. See {@link #getHandles(String)} for details.
  @throws IOException If there is an error reading the event files.