MatchResult (@NotNull String name) { for (MatchResult child : myChildren) { if (name.equals(child.getName())) { return child; } final MatchResult deep = ((MatchResultImpl)child).findChild(name); if (deep != null) { return deep; } } return null; }