in the SelectorHandlerRunner in the run method you have that
while ((controllerState = controllerStateHolder.getState(false)) !=
State.STOPPED &&
(selectorHandlerState =
selectorHandlerStateHolder.getState(false)) != State.STOPPED) {
just want to know why not
while(!Thread.interrupted()){
maybe I'll change my Runnable to reflect a better design.