code: @Override
      public String[] introspectSelf() {
          List<String> rc = new ArrayList<String>();
          rc.add(Thread.currentThread().getName());
          rc.add("quit: " + this.quit);
          rc.add("waitingToQuit: " + this.waitingToQuit);
          rc.add("# of keys=" + this.selector.keys().size());
  
          try {
              for (SelectionKey key : this.selector.keys()) {
                  rc.add("key: " + key.hashCode() + " valid=" + key.isValid() + " ops=" + key.interestOps() + " " + key.channel());
              }
  
          } catch (Throwable x) {
              // If we get any exception, just return what we have so far.
              // This routine is not thread safe, and could get an exception, but
              // since it is only invoked when we are dumping data, due to a problem or
              // during debug this should be acceptable.
              rc.add("Exception Occurred Gathering Dump Data: " + x);
          }
          return rc.toArray(new String[rc.size()]);
      }
docs: /*
  @see com.ibm.ws.ffdc.FFDCSelfIntrospectable#introspectSelf()