@Override
  public OMVRBTreeRIDSet deserialize(byte[] stream, int startPosition) {
    final byte[] serializedSet = OBinaryTypeSerializer.INSTANCE.deserialize(stream, startPosition);

    final String s = OBinaryProtocol.bytes2string(serializedSet);

    return (OMVRBTreeRIDSet)
        FORMAT.embeddedCollectionFromStream(null, OType.EMBEDDEDSET, null, OType.LINK, s);
  }
  @Override
  public OMVRBTreeRIDSet deserializeFromDirectMemory(ODirectMemoryPointer pointer, long offset) {
    final byte[] serializedSet =
        OBinaryTypeSerializer.INSTANCE.deserializeFromDirectMemory(pointer, offset);

    final String s = OBinaryProtocol.bytes2string(serializedSet);

    return (OMVRBTreeRIDSet)
        FORMAT.embeddedCollectionFromStream(null, OType.EMBEDDEDSET, null, OType.LINK, s);
  }
 @Override
 public void serializeNative(
     OMVRBTreeRIDSet object, byte[] stream, int startPosition, Object... hints) {
   final byte[] serializedSet = object.toStream();
   OBinaryTypeSerializer.INSTANCE.serializeNative(serializedSet, stream, startPosition);
 }
 @Override
 public int getObjectSize(byte[] stream, int startPosition) {
   return OBinaryTypeSerializer.INSTANCE.getObjectSize(stream, startPosition);
 }
 @Override
 public int getObjectSize(OMVRBTreeRIDSet object, Object... hints) {
   final byte[] serializedSet = object.toStream();
   return OBinaryTypeSerializer.INSTANCE.getObjectSize(serializedSet);
 }
 @Override
 public int getObjectSizeInDirectMemory(ODirectMemoryPointer pointer, long offset) {
   return OBinaryTypeSerializer.INSTANCE.getObjectSizeInDirectMemory(pointer, offset);
 }
 @Override
 public void serializeInDirectMemory(
     OMVRBTreeRIDSet object, ODirectMemoryPointer pointer, long offset, Object... hints) {
   final byte[] serializedSet = object.toStream();
   OBinaryTypeSerializer.INSTANCE.serializeInDirectMemory(serializedSet, pointer, offset);
 }