public override Gen <Operation <ITcpServerSocketModel, ITcpServerSocketModel> > Next(ITcpServerSocketModel obj0)
        {
            Gen <Operation <ITcpServerSocketModel, ITcpServerSocketModel> > returnGen = null;

            if (obj0.BoundAddress != null && obj0.LocalChannels.Count == 0)
            {
                returnGen = ClientConnect.Generator();
            }
            else
            {
                returnGen = Gen.OneOf(ClientWrite.Generator(), ClientDisconnect.Generator(), ClientConnect.Generator());
            }

            OperationSanityCheck++;
            return(returnGen);
        }