try {
watching.put(w, ch.register(poll, evs, w));
} catch(ClosedChannelException e) {
try {
watching.put(w, ch.register(poll, evs, w));
} catch(ClosedChannelException e) {
throw(new RuntimeException(w + ": inconsistent internal state"));
if(wc == null)
throw(new IllegalStateException(w + ": not registered"));
throw(new RuntimeException(w + ": inconsistent internal state"));
if(wc == null)
throw(new IllegalStateException(w + ": not registered"));