int Set(InArchive archive, ObjectVector<ByteBuffer> dataVector) throws java.io.IOException {
   Remove();
   int external = archive.ReadByte();
   if (external != 0) {
     int dataIndex = archive.ReadNum();
     Set(archive, dataVector.get(dataIndex));
   }
   return HRESULT.S_OK;
 }
 void Set(InArchive archive, byte[] data, int size) {
   Remove();
   _archive = archive;
   _archive.AddByteStream(data, size);
   _needRemove = true;
 }
 void Remove() {
   if (_needRemove) {
     _archive.DeleteByteStream();
     _needRemove = false;
   }
 }