class PathImpl implements Path {

	public static PathImpl createPathFromString(String propertyPath) {
		if ( propertyPath == null ) {
			throw new IllegalArgumentException( "null is not allowed as property path." );
		}

		if ( propertyPath.length() == 0 ) {
			return createNewPath( null );
		}

		return parseProperty( propertyPath );
	}

	private  PathImpl(PathImpl path);
	private  PathImpl();
	private  PathImpl(List<Node> nodeList);

}