public synchronized Object[] toArray(Object[] a) {
   return q.toArray(a);
 }
 public synchronized Object[] toArray() {
   return q.toArray();
 }