code: public List<String> toList() {
          List<String> list = new LinkedList<String>();
          if (authority != null) {
              list.add(authority);
          }
          for (Term t : terms) {
              list.add(t.toString());
          }
          return list;
      }
docs: This method returns the Path as an unmodifiable list of the terms
  comprising the Path.