public void findNodesInContextCommon( String startCtxPath, String name, @NotNull TreeNode.TreeNodeHandler handler) { if (startCtxPath != null) { String[] path = startCtxPath.split("/"); int startWith = ("/" + path[1]).startsWith(ContextPath.FILE_CTX_PRX) ? 2 : 1; TreeNode cycled = root; for (int i = startWith; i < path.length; i++) { String encodedName = "/" + path[i]; cycled = cycled.findChildByEncodedName(encodedName); if (cycled == null) { return; // new TreeNode[0]; } } cycled.iterateOverChildrenWithSuffix(name, handler); } else { root.iterateOverChildrenWithSuffix(name, handler); } }