void (List<? super RadComponent> components, RadComponent component, int[] path, int index) { if (index == path.length) { components.add(component); } else { List<RadComponent> children = component.getChildren(); int componentIndex = path[index]; if (0 <= componentIndex && componentIndex < children.size()) { pathToComponent(components, children.get(componentIndex), path, index + 1); } } }