if (node.edges[0] != null || !(node.edges[0].contents instanceof SIRJoiner)) { for (int i = 0; i < node.inputs; i++) { if (node.incomingWeights[i] != 0) { return true; } } } return false;
if (node.edges[0] != null && node.edges[0].isJoiner()) return false;  return true;
    public static boolean assignedJoiner(FlatNode node) {        assert node.isJoiner();        if (node.edges.length == 0) {            assert node.getTotalIncomingWeights() == 0;            return false;        }        // do not assign joiners directly connected to other joiners or null        // joiners        if (node.edges[0] != null            || !(node.edges[0].contents instanceof SIRJoiner)) {            for (int i = 0; i < node.inputs; i++) {                if (node.incomingWeights[i] != 0) {                    return true;                }            }        }        return false;    }