code: public Key register(Watchable watchable, Iterable<? extends WatchEvent.Kind<?>> eventTypes)
        throws IOException {
      checkOpen();
      return new Key(this, watchable, eventTypes);
    }
docs: 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.