private boolean verify_IN_Hierarchy(boolean conclusion, Set<Node> toVerifyNodes, Set<Node> verifiedNodes) {
        final Iterator itr = toVerifyNodes.iterator();
        Node cur = (Node) itr.next();
        toVerifyNodes.remove(cur);

        if (verifiedNodes.contains(cur)) {
            conclusion = false;
        } else {
            for (int i = 0; i < cur.getIncomingLinksNumber(); i++) {
                if (cur.getIncomingLink(i).getIn_node().getType() != NodeType.INPUT) {
                    toVerifyNodes.add(cur.getIncomingLink(i).getIn_node());
                    conclusion = verify_IN_Hierarchy(conclusion, toVerifyNodes, verifiedNodes);
                }
            }
            verifiedNodes.add(cur);
        }
        return conclusion;
    }