docs: public static boolean inotify(File file, FileNotify notify, int timeout) throws IllegalArgumentException
    {
      Params.notNull(file, "File");
  
      Predicate predicate = INOTIFY_PREDICATES.get(notify);
      if(predicate == null) {
        throw new BugError("Unsupported file notification |%s|. Missing predicate.", notify);
      }
  
      long timestamp = System.currentTimeMillis() + timeout;
      while(!predicate.test(file)) {
        if(timestamp <= System.currentTimeMillis()) {
          return false;
        }
        try {
          Thread.sleep(500);
        }
        catch(InterruptedException unused) {
          Thread.currentThread().interrupt();
        }
      }
      return true;
    }