public Key register(Watchable watchable, Iterable<? extends WatchEvent.Kind<?>> eventTypes)
      throws IOException {
    checkOpen();
    return new Key(this, watchable, eventTypes);
  }
Registers the given watchable with this service, returning a new watch key for it. This
implementation just checks that the service is open and creates a key; subclasses may override
it to do other things as well.
jimfs/src/main/java/com/google/common/jimfs/AbstractWatchService.java