Node (@NotNull Object element) { List<Node> list = children.get(); if (list != null) { if (!list.isEmpty()) { int hashCode = element.hashCode(); Node result = ContainerUtil.find(list, node -> node.matches(element, hashCode)); if (result != null) return result; // found child node that matches given element } if (LOG.isTraceEnabled()) LOG.debug("node '", getElement(), "' have no child: ", element); } else { if (LOG.isTraceEnabled()) LOG.debug("node '", getElement(), "' have no loaded children"); } return null; }