@Override
 void implClose() throws IOException {
   // delegate to poller
   poller.close();
 }
 @Override
 WatchKey register(Path path, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers)
     throws IOException {
   // delegate to poller
   return poller.register(path, events, modifiers);
 }