ApiFilteredNode extends ApiNode implements FilteredNode { @Override public int indexOf(String childName) { int i = 0; for (Iterator<Node> itr = iterator(); itr.hasNext();) { if (itr.next().getName().equals(childName)) { return i; } i++; } return -1; } @SuppressWarnings("unchecked")  ApiFilteredNode(NavigationImpl navigation, NodeContext<ApiNode> context); private  ApiFilteredNode(NavigationImpl navigation, NodeContext<ApiNode> context, FilteredNodeMap map); @Override Node addChild(int index, String childName); @Override Node addChild(String childName); @Override Node getChild(int index); @Override Node getChild(String childName); @Override int getChildCount(); @Override Node getNode(NodePath nodePath); @Override Node getParent(); @Override boolean hasChild(String childName); @Override int indexOf(String childName); @Override Iterator<Node> iterator(); @Override void moveTo(int index); @Override void moveTo(int index, Node parent); @Override @SuppressWarnings("unchecked") FilteredNode showAll(); @Override FilteredNode showDefault(); @Override FilteredNode showHasAccess(User user); FilteredNode showHasEdit(User user); @Override FilteredNode showVisible(); @Override FilteredNode show(Filter<Node> filter);  }
@Test public void indexOf() { assertEquals(0, filtered.indexOf("child0")); assertEquals(1, filtered.indexOf("child2")); }