public override ByteBuffer ToBufferRaw(ByteBuffer buffer = null)
 {
     buffer = buffer ?? new ByteBuffer(ByteBuffer.LITTLE_ENDING);
     Fee.ToBuffer(buffer);
     Payer.ToBuffer(buffer);
     Player.ToBuffer(buffer);
     Tournament.ToBuffer(buffer);
     BuyIn.ToBuffer(buffer);
     buffer.WriteArray(Extensions, (b, item) => {
         if (!item.IsNull())
         {
             ;
         }
     });              // todo
     return(buffer);
 }
 public ByteBuffer ToBuffer(ByteBuffer buffer = null)
 {
     buffer = buffer ?? new ByteBuffer(ByteBuffer.LITTLE_ENDING);
     buffer.WriteDateTime(RegistrationDeadline);
     buffer.WriteUInt32(NumberOfPlayers);
     BuyIn.ToBuffer(buffer);
     buffer.WriteArray(Whitelist, (b, item) => {
         if (!item.IsNull())
         {
             item.ToBuffer(b);
         }
     }, SpaceTypeId.Compare);
     buffer.WriteOptionalStruct(StartTime, (b, value) => b.WriteDateTime(value));
     buffer.WriteOptionalStruct(StartDelay, (b, value) => b.WriteUInt32(value));
     buffer.WriteUInt32(RoundDelay);
     buffer.WriteUInt32(NumberOfWins);
     Meta.ToBuffer(buffer);
     GameOptions.ToBuffer(buffer);
     return(buffer);
 }