private static uint GetRandomUInt32() { uint result; lock (PositionLock.Value) { if ((PoolSize - bufferPosition) < sizeof(uint)) { GeneratePool(Pool.Value) } result = BitConvertor.ToUInt32( Pool.Value, bufferPosition); bufferPostion += sizeof(uint); } return result; }