public void makeConnection(Socket insock) {
        log.debug("makeConnection()::" + insock.toString());
        if ((connectionFilter == null) || ((connectionFilter != null) && connectionFilter.isAllowed(insock.getInetAddress()))) {
            // we create the connection data object at this point to
            // store certain information there.
            ConnectionData newCD = new ConnectionData(insock, this);
            newCD.setLoginShell(loginShell);
            newCD.setLineMode(lineMode);
            if (m_OpenConnections.size() < maxConnections) {
                // create a new Connection instance
                Connection con = new Connection(m_ThreadGroup, newCD);
                // log the newly created connection
                Object[] args = {new Integer(m_OpenConnections.size() + 1)};
                log.info(MessageFormat.format("connection #{0,number,integer} made.", args));
                // register it for being managed
                synchronized (m_OpenConnections) {
                    m_OpenConnections.add(con);
                }
                // start it
                con.start();
            }
        } else {
            log.info("makeConnection():: Active Filter blocked incoming connection.");
            try {
                insock.close();
            } catch (IOException ex) {
                // do nothing or log.
            }
        }
    }// makeConnection