} catch (FieldConvertError e) { throw new ConfigError(e);
    private void initialize(boolean handleMessageInCaller) throws ConfigError {        try {            onInitialize(handleMessageInCaller);            eventDispatcher = new LowLatencyEventDispatcher();            ioProcessor = new IoProcessor();            ioProcessor.setThreadNamePrefix(DEFAULT_IO_THREAD_PREFIX);            ioProcessor.setThreadPoolSize(1);            ioProcessor.start();            timer.schedule(new SessionTimerTask(), 1000L, 1000L);            for (Iterator i = settings.sectionIterator(); i.hasNext();) {                Object sectionKey = i.next();                // TODO add ability to bind a specific network card                // TODO add iterator for non-default session - and/or for                // connector/acceptor sessions                // TODO protect session connection creation with try block                if (isInitiatorSession(sectionKey)) {                    sessionConnections.add(new SessionConnection(settings, (SessionID) sectionKey));                }            }            if (sessionConnections.size() == 0) {                throw new ConfigError("no initiators in settings");            }        } catch (IOException e) {            throw new RuntimeError(e);        }    }