protected final short addNewConnection () throws Exception {
if (connections.size() < maxConnections) {
final Connection connection = factory.getConnection(this, configuration, inetSocketAddress, nextFreeConnectionID);
connection.nextState(new LoginRequestState(connection, LoginStage.FULL_FEATURE_PHASE));
// login phase successful, so we can add a new connection
connections.add(connection);
// only needed on the leading login connection
if (connections.size() == 1) {