public static boolean isArrowpointAllowed2(Node from, Node to, Knowledge knowledge, Graph graph) { if (knowledge == null) { return true; } if (!graph.getNodesInTo(to, Endpoint.ARROW).isEmpty()) { return false; } return !knowledge.edgeRequired(to.toString(), from.toString()) && !knowledge.edgeForbidden(from.toString(), to.toString()); }