code: private List<String> getParts() {
      List<String> result = lazyStringParts;
      return result != null
          ? result
          : (lazyStringParts =
              path.isEmpty() || isRoot() ? Collections.<String>emptyList() : createParts());
    }
docs: Returns list of path components, excluding slashes.