public synchronized boolean remove(Object o) {
   return q.remove(o);
 }
 public synchronized Object remove() {
   return q.remove();
 }