PackageDependenciesNode (DefaultMutableTreeNode node) { DefaultMutableTreeNode child = node; while (node != null) { if (node instanceof CycleNode) { final TreeNode packageDependenciesNode = child.getNextSibling() != null ? child.getNextSibling() : node.getChildAt(0); if (packageDependenciesNode instanceof PackageNode){ return (PackageNode)packageDependenciesNode; } if (packageDependenciesNode instanceof ModuleNode){ return (PackageNode)packageDependenciesNode.getChildAt(0); } } child = node; node = (DefaultMutableTreeNode)node.getParent(); } return null; }