code: public void registerFileDir(Path dir, String fileType, ReloadableFile reloadableFile) throws IOException {
          WatchKey key = dir.register(watcher, ENTRY_MODIFY);
          List<FileInfo> fileInfos = addOnMap.get(key);
  
          if(fileInfos != null) {
              fileInfos.add(new FileInfo(dir, fileType, reloadableFile));
          } else {
              fileInfos = new ArrayList<>();
              fileInfos.add(new FileInfo(dir, fileType, reloadableFile));
              addOnMap.put(key, fileInfos);
          }
      }
docs: Use this method to register a file with the watcherService
  
  @param dir directory of file
  @param fileType the name/extension of the file
  IMPORTANT: Please try to always enter the full name with extension of the file (Ex: "test.txt"),
  it would be best if the fileType is the full file name, and that the file name is clearly
  distinguishable from other files.
  For example, the property files are stored with the ID of the addon they belong too. That way
  every property file is easily distinguishable.
  @param reloadableFile object of interface that file belongs to
  @throws IOException exception thrown by watcher service