code: public Query build() {
              Query.Builder root = this;
              while (true) {
                  if (root.parent == null) {
                      break;
                  }
                  root = root.parent;
              }
  
              root.done();
              return root.tree;
          }
docs: Builds the <b>whole</b> tree regardless of where in the tree the current builder "operates".
  
  @return the fully built tree