log.warning("Phone Thread pool has been shutdown, plugin shutdown must be in progress! " +
Log.warn("Phone Thread pool has been shutdown, plugin shutdown must be in progress! " +
    public void handleChannelEvent(ChannelEvent event) {        ExecutorService executor = getThreadPool();        if (executor == null) {            log.severe("Phone Thread pool was not initialized, returning!");            return;        } else if (executor.isShutdown()) {            log.warning("Phone Thread pool has been shutdown, plugin shutdown must be in progress! " +                    "Not processing event");            return;        }        if (event instanceof NewStateEvent) {            NewStateEvent nsEvent = (NewStateEvent) event;            String state = nsEvent.getState();            if ("Up".equals(state)) {                executor.execute(new OnPhoneTask(nsEvent));            }        } else if (event instanceof NewChannelEvent) {            NewChannelEvent ncEvent = (NewChannelEvent) event;            String state = ncEvent.getState();            // This will actually cause the ring task to be potentially executed twice            // Once for the Ring state and then again for the Ringing state.            // I am not sure if I will eventually change this just to work for the ring state            // Or keep it for both            if (state.equals("Ringing")) {                executor.execute(new RingTask(ncEvent));            }        } else if (event instanceof HangupEvent) {            executor.execute(new HangupTask((HangupEvent) event));        }    }