// called from the TCP READ thread pool
public void run()
{
if ( tcpReader_ == null )
{
tcpReader_ = new TcpReader(TcpConnection.this);
StartState nextState = tcpReader_.getSocketState(TcpReader.TcpReaderState.PREAMBLE);
if ( nextState == null )
{
nextState = new ProtocolState(tcpReader_);
tcpReader_.putSocketState(TcpReader.TcpReaderState.PREAMBLE, nextState);