code: public Stream<? extends TrieNode> streamDecendents(int level) {
      assert (level > 0);
      if (level == 1) {
        return getChildren();
      }
      else {
        return getChildren().flatMap(child -> child.streamDecendents(level - 1));
      }
    }
docs: Stream decendents stream.
  
  @param level the level
  @return the stream