@NotNull
  public <U> List<U> getAllObjectsUnder(@NotNull Class<U> clazz) {
    return traverseObjectsUnder().filter(clazz).toList();
  }
@NotNull
  public <U> List<U> getAllObjectsUnder(@NotNull Class<U> clazz)