ASSERT (streamInput == null); ASSERT (streamOutput == null);
ASSERT (getInputChannel () == null); ASSERT (getOutputChannel () == null);
    public void run()    {        setupOperator ();        // setup the scheduler        {            scheduler = new SimpleHierarchicalScheduler ();            SchedStream stream;            stream = (SchedStream) constructSchedule ();            ASSERT (stream);            scheduler.useStream (stream);            scheduler.computeSchedule ();        }        ASSERT (streamInput == null);        ASSERT (streamOutput == null);        // setup the buffer lengths for the stream setup here:        setupBufferLengths (scheduler.getSchedule ());        // run the init schedule:        runSchedule (scheduler.getSchedule ().getInitSchedule ());        // and run the steady schedule forever:        while (true)        {            runSchedule (scheduler.getSchedule ().getSteadySchedule ());        }        // not necessary anymore        /*        while (true)        {            runSinks ();            drainChannels ();        }        */    }