/// Allocates Ids for instances on demand. 0 is an invalid/unassigned Id. Ids may be non-unique in very long-running systems. This is similar to the Id system used by <see cref="System.Threading.Tasks.Task"/> and <see cref="System.Threading.Tasks.TaskScheduler"/>.
/// </summary>
/// <typeparam name="TTag">The type for which ids are generated.</typeparam>
// ReSharper disable UnusedTypeParameter
internalstaticclassIdManager<TTag>
// ReSharper restore UnusedTypeParameter
{
/// <summary>
/// The last id generated for this type. This is 0 if no ids have been generated.