public static byte[] Generate()
{
List<byte> bytes = new List<byte>();
//generate the correct prefix (Suggestion from Sam Corder)
double span = (DateTime.UtcNow - Mongo.Epoch).TotalSeconds;
int floor = Convert.ToInt32(Math.Floor(span));
bytes.AddRange(BitConverter.GetBytes(floor).Reverse());
//use a semi-unique value - Not sure if this
//is supposed to be any paticular format
bytes.AddRange(Guid.NewGuid().ToByteArray().Skip(8));
return bytes.ToArray();
}