@Override
  public @NotNull <Node> Collection<Node> findNodeNeighbourhood(
    @NotNull Graph<Node> graph,
    @NotNull Node node,
    int levelBound
  ) {
    final Set<Node> neighbourhood = new HashSet<>();
    Bfs.performBfs(graph, node, (neighbour, level) -> {
      if (level <= levelBound) {
        neighbourhood.add(neighbour);
      }
    });
    return neighbourhood;
  }
@Override
  public @NotNull <Node> Collection<Node> findNodeNeighbourhood(
    @NotNull Graph<Node> graph,
    @NotNull Node node,
    int levelBound
  )