if (acceptorSessions.size() == 0) { throw new ConfigError("No acceptor sessions found in settings."); }
    protected synchronized void startAcceptingConnections(            EventHandlingStrategy eventHandlingStrategy) throws ConfigError {        try {            Map acceptorSessions = new HashMap();            SessionSettings settings = getSettings();            for (Iterator i = settings.sectionIterator(); i.hasNext();) {                Object sectionKey = i.next();                SessionID sessionID = (SessionID) sectionKey;                String connectionType = settings.getString(sessionID,                        SessionFactory.SETTING_CONNECTION_TYPE);                if (connectionType.equals(SessionFactory.ACCEPTOR_CONNECTION_TYPE)) {                    acceptorSessions.put(sessionID, sessionFactory.create(sessionID, settings));                }            }            setSessions(acceptorSessions);            startSessionTimer();            int acceptPort = getIntSetting(Acceptor.SETTING_SOCKET_ACCEPT_PORT);            if (settings.isSetting(SETTING_SOCKET_ACCEPT_ADDRESS)) {                String acceptorHost = settings.getString(SETTING_SOCKET_ACCEPT_ADDRESS);                acceptorSocketAddress = new InetSocketAddress(acceptorHost, acceptPort);            } else {                acceptorSocketAddress = new InetSocketAddress(acceptPort);            }            protocolAcceptor = new IoProtocolAcceptor(new SocketAcceptor());            protocolAcceptor.bind(acceptorSocketAddress, new AcceptorProtocolProvider(                    acceptorSessions, new NetworkingOptions(settings.getDefaultProperties()),                    eventHandlingStrategy));            log.info("listening for connections on port " + acceptorSocketAddress);        } catch (FieldConvertError e) {            throw new ConfigError(e);        } catch (IOException e) {            throw new RuntimeError(e);        }    }