String selectorImpl = "default"; if (KqueueSelectorImpl.kqueue_supported()) selectorImpl = SELECTOR_IMPL_KQUEUE; if (EpollSelectorImpl.epoll_supported() && !epoll_failed) selectorImpl = SELECTOR_IMPL_EPOLL; selectorImpl = SystemProperties.getProperty(SELECTOR_IMPL, selectorImpl);  if (selectorImpl.equals(SELECTOR_IMPL_KQUEUE)) return new KqueueSelectorImpl(this);  if (selectorImpl.equals(SELECTOR_IMPL_EPOLL)) {       try { return new EpollSelectorImpl(this); } catch (InternalError e) {  epoll_failed = true; } }
  public AbstractSelector openSelector ()    throws IOException  {    return new SelectorImpl (this);  }