internal static void WriteULong(Stream destination, ulong value)
{
destination.WriteByte((byte)(value & 0xff));
destination.WriteByte((byte)((value >> 8) & 0xff));
destination.WriteByte((byte)((value >> 16) & 0xff));
destination.WriteByte((byte)((value >> 24) & 0xff));
destination.WriteByte((byte)((value >> 32) & 0xff));
destination.WriteByte((byte)((value >> 40) & 0xff));
destination.WriteByte((byte)((value >> 48) & 0xff));
destination.WriteByte((byte)((value >> 56) & 0xff));
}