if (!destActiveNode.isProducingForPassiveNode(sourceNode))
if (!destActiveNode.isConsumingFromPassiveNode(sourceNode))
    public static boolean meetsConstraintsForEdge(ModuleNode sourceNode, ModuleNode destNode) {        //only allow 2 edges (one each way) for each module        if (sourceNode.edgeExists(destNode))            return false;        //check to see if consumption/production is allowed        if (sourceNode instanceof PassiveNode){            PassiveNode sourcePassiveNode = (PassiveNode)sourceNode;            if (!sourcePassiveNode.allowsConsumptionFromActiveNode(destNode))                return false;        }        else if (destNode instanceof PassiveNode){            PassiveNode destPassiveNode = (PassiveNode)destNode;            if (!destPassiveNode.allowsProductionFromActiveNode(sourceNode))                return false;        }                //check to see if active node already has an edge for this (allow in future revisions)        if (sourceNode instanceof ActiveNode){            ActiveNode sourceActiveNode = (ActiveNode)sourceNode;            if (sourceActiveNode.isConsumingForPassiveNode(destNode))                return false;        }        else if (destNode instanceof ActiveNode){            ActiveNode destActiveNode = (ActiveNode)destNode;            if (!destActiveNode.isProducingForPassiveNode(sourceNode))                return false;        }        //Connecting two active nodes?        else            return false;        return true;    }