code: public void writeExternal(ObjectOutput out) throws IOException
     {
        byte[] buf = qpath.getAsString().getBytes(Constants.DEFAULT_ENCODING);
        out.writeInt(buf.length);
        out.write(buf);
  
        out.writeInt(identifier.getBytes().length);
        out.write(identifier.getBytes());
  
        if (parentIdentifier != null)
        {
           out.writeInt(NOT_NULL_VALUE);
           out.writeInt(parentIdentifier.getBytes().length);
           out.write(parentIdentifier.getBytes());
        }
        else
        {
           out.writeInt(NULL_VALUE);
        }
  
        out.writeInt(persistedVersion);
     }
docs: {@inheritDoc}