outputStream.writeBytes(sj.getSplitPushWeights(0)[nIn] + ", ");
outputStream.writeBytes(sj.getJoinPopWeights(0)[nIn] + ", ");
    public void printSJ(SplitJoinIter sj, DataOutputStream outputStream)    {        try        {            outputStream.writeBytes("  public void init ()\n  {\n");            ASSERT(sj.getSplitterNumWork() == 1);            if (sj.getSplitPop(0) == 1)                outputStream.writeBytes("    setSplitter (DUPLICATE ());\n");            else            {                outputStream.writeBytes("    setSplitter (WEIGHTED_ROUND_ROBIN (");                int nOut;                for (nOut = 0; nOut < sj.getFanOut() - 1; nOut++)                {                    outputStream.writeBytes(sj.getSplitPushWeights(0)[nOut] + ", ");                }                outputStream.writeBytes(sj.getSplitPushWeights(0)[nOut] + "));\n");            }            for (int nChild = 0; nChild < sj.getNumChildren(); nChild++)            {                outputStream.writeBytes(                    "    add(new " + getName(sj.getChild(nChild)) + " ());\n");            }            {                outputStream.writeBytes("    setJoiner (WEIGHTED_ROUND_ROBIN (");                int nIn;                for (nIn = 0; nIn < sj.getFanIn() - 1; nIn++)                {                    outputStream.writeBytes(sj.getSplitPushWeights(0)[nIn] + ", ");                }                outputStream.writeBytes(sj.getSplitPushWeights(0)[nIn] + "));\n");            }            outputStream.writeBytes("  }\n");        }        catch (Throwable e)        {            ERROR(e);        }        for (int nChild = 0; nChild < sj.getNumChildren(); nChild++)        {            printStream(sj.getChild(nChild));        }    }