public InteractionItem GetFirstItem(InteractionType type = InteractionType.User | InteractionType.Auto, InteractionState state = InteractionState.Regular | InteractionState.Removing)
 {
     lock (_queueLocker)
     {
         return(_queue.FirstOrDefault(i => type.HasFlag(i.Type) && state.HasFlag(i.State)));
     }
 }