class FairQueue implements BlockingQueue<E> {

   @Override
   public boolean contains (Object o)
   {
      if (o == null)
      {
         return false;
      }
      final ReentrantLock lock = this.lock;
      lock.lock ();
      try
      {
         for (Object key : keys)
         {
            if (storage.get (key).contains (o))
            {
               return true;
            }
         }
         return false;
      }
      finally
      {
         lock.unlock ();
      }
   }

   public  FairQueue();

}