code: public static PathImpl createPathFromString(final String propertyPath) {
      if (propertyPath == null) {
        throw new IllegalArgumentException("parameter propertyPath must not be null");
      }
  
      if (propertyPath.length() == 0) {
        return createRootPath();
      }
  
      return parseProperty(propertyPath);
    }
docs: Returns a {@code Path} instance representing the path described by the given string. To create
  a root node the empty string should be passed.
  
  @param propertyPath the path as string representation.
  
  @return a {@code Path} instance representing the path described by the given string.
  
  @throws IllegalArgumentException in case {@code property == null} or {@code property} cannot be
  parsed.