void add(Watcher w, SelectableChannel ch) {
if(watching.containsKey(w) || paused.containsKey(w) || timeheap.contains(w))
throw(new IllegalStateException(w + ": already registered"));
+ try {
+ ch.configureBlocking(false);
+ } catch(IOException e) {
+ throw(new RuntimeException(ch + ": could not make non-blocking", e));
+ }
int evs = w.events();
double timeout = w.timeout();
boolean hastime = timeout < Double.POSITIVE_INFINITY;