### Question:
ConnectableNode { public boolean isConnectable(ConnectableNode node) { return !Collections.disjoint(nodes, node.nodes); } ConnectableNode(Node... nodes);  ConnectableNode(Collection<Node> nodes); boolean isConnectable(ConnectableNode node); boolean contains(Node node); int size(); Iterator<Node> getNodesIterator();  }### Answer:
@Test public void testIsConnectable() throws Exception { ConnectableNode node1 = new ConnectableNode(TestUtils.asNodes(1, 2, 3, 4)); ConnectableNode node2 = new ConnectableNode(TestUtils.asNodes(2)); ConnectableNode node3 = new ConnectableNode(TestUtils.asNodes(3)); assertTrue(node1.isConnectable(node2)); assertTrue(node2.isConnectable(node1)); assertTrue(node1.isConnectable(node1)); assertTrue(node2.isConnectable(node2)); assertFalse(node2.isConnectable(node3)); assertFalse(node3.isConnectable(node2)); }