LatencyEdge edge = new LatencyEdge(topNode, 0, bottomNode, 0);
LatencyEdge edge = new LatencyEdge(topNode, 0, bottomNode, 0, 0);
    public void initiateConstrained ()    {        // register all children        for (int nChild = 0; nChild < getNumChildren (); nChild++)        {            StreamInterface child = getConstrainedChild (nChild);            latencyGraph.registerParent(child, this);            child.initiateConstrained();        }                // add all children to the latency graph        for (int nChild = 0; nChild + 1 < getNumChildren(); nChild++)        {            StreamInterface topStream = getConstrainedChild(nChild);            StreamInterface bottomStream = getConstrainedChild(nChild + 1);            LatencyNode topNode = topStream.getBottomLatencyNode();            LatencyNode bottomNode = bottomStream.getTopLatencyNode();            LatencyEdge edge = new LatencyEdge(topNode, 0, bottomNode, 0);            // add self to the two nodes            topNode.addDependency(edge);            bottomNode.addDependency(edge);        }    }