@Override
    public String toString(@Nullable String root, Iterable<String> names) {
      StringBuilder builder = new StringBuilder();
      if (root != null) {
        builder.append(root);
      }
      joiner().appendTo(builder, names);
      return builder.toString();
    }
Arbitrary path type with $ as the root, / as the separator and \ as an alternate separator.
jimfs/src/test/java/com/google/common/jimfs/PathTypeTest.java