code: public Builder branch() {
              if (fragments.isEmpty()) {
                  fragments.add(new PathFragment(new NoopFilter()));
              }
  
              Builder child = new Builder();
              child.parent = this;
              children.add(child);
  
              return child;
          }
docs: Creates a new branch in the tree and returns a builder of that branch.
  @return a new builder instance for building the child