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)));
     }
 }
 public bool CheckLastId(Guid id, InteractionType type = InteractionType.User | InteractionType.Auto)
 {
     lock (_queueLocker)
     {
         return(_queue.LastOrDefault(i => type.HasFlag(i.Type)).Id == id);
     }
 }
 public Guid GetFirstId(InteractionType type = InteractionType.Gesture | InteractionType.Animation)
 {
     lock (_queueLocker)
     {
         return(_queue.FirstOrDefault(i => type.HasFlag(i.Type)).Id);
     }
 }