Value class that contains identifier used for accessing
piece of content: basically contains optional partition id
Let's model external key presentation as an URI of sort.
And use meow char for separating optional partition from path
Raw representation used for the underlying store
Length of group id, in bytes (not necessarily characters).
Full path, including Partition id as prefix.
Accessor for getting path part of key, not including partition id.
Accessor for getting concatenation of partition id (if any) and path.
Accessor for getting partition id part of key, if any; if no partition id,
Callback-based accessor for accessing part of key formed when path itself
is dropped, and only client id and group id are included.
Note that method can only be called when there is a group id; otherwise
will be thrown.
if (o == this) return true;
if (o == null) return false;
final int pathLen = path.length();