docs: public boolean addChild(final Branch branch) {
      if (branch == null) {
        throw new IllegalArgumentException("Null branches are not allowed");
      }
      if (branches == null) {
        branches = new TreeSet<Branch>();
        branches.add(branch);
        return true;
      }
      
      if (branches.contains(branch)) {
        return false;
      }
      branches.add(branch);
      return true;
    }