static VectorOffset SampleEvents(ITickObject obj, FlatBufferBuilder fbb, bool full) { VectorOffset vecOffset = default(VectorOffset); if (!full && obj.eventType != TickEventType.NONE) { var eventVector = OffsetArrayPool.Alloc <TickEvent>((int)snapshotOverTick); for (uint i = 0; i < snapshotOverTick; ++i) { int eventOffset = obj.SnapshotEvent(fbb, tickCount - snapshotOverTick + i); if (eventOffset > 0) { eventVector.offsets[eventVector.position++] = TickEvent.CreateTickEvent( fbb, tickCount - snapshotOverTick + i, obj.eventType, eventOffset); } } TickObject.StartEventsVector(fbb, eventVector.position); vecOffset = Helpers.SetVector(fbb, eventVector); OffsetArrayPool.Dealloc(ref eventVector); } return(vecOffset); }