public Collection<GraphNode> getConnectedNodes(Object nodeUserObject) { if (nodes.containsKey(nodeUserObject)) { GraphNode node = nodes.get(nodeUserObject); return node.getConnectedNodes(); } // not sure if this is necessary or a good idea? if (nodeUserObject instanceof GraphNode) { GraphNode node = (GraphNode) nodeUserObject; return node.getConnectedNodes(); } // return null or empty list? return Collections.emptyList(); }