*/
	public void accept(String newSocketId, ConnectionListener cb) throws IOException {
		if(cb == null)
			throw new IllegalArgumentException("cb is not allowed to be null");
		try {
			//special code...see information in close() method
			if(isClosed())
				return;
			
			SocketChannel newChan = channel.accept();
			if(newChan == null)
				return;
			newChan.configureBlocking(false);
            
            org.playorm.nio.api.testutil.chanapi.SocketChannel proxyChan = channelFactory.open(newChan);
		
			IdObject obj = new IdObject(getIdObject(), newSocketId);
			TCPChannel tcpChan = new BasTCPChannel(obj, bufFactory, proxyChan, getSelectorManager());
			if(log.isLoggable(Level.FINER))
				log.finer(tcpChan+"Accepted new incoming connection");
			cb.connected(tcpChan);
		} catch(Throwable e) {
			log.log(Level.WARNING, this+"Failed to connect", e);
			cb.failed(this, e);
		}
	}