private void filterChildren(@Nullable U object, @NotNull Condition<? super U> filter) {
      if (object == null) return;
      N node = getNode(object);
      filterDirectChildren(node, filter);

      for (int i = 0, c = node.getChildCount(); i < c; ++i) {
        filterChildren(getUserObject(getChild(node, i)), filter);
      }
    }
private void filterChildren(@Nullable U object, @NotNull Condition<? super U> filter)