public synchronized void incubate(T o){
  if (o == null)   throw new IllegalArgumentException("null arg");
  if (hatchMap.containsKey(o))   throw new IllegalArgumentException(o + " is already incubating");
  hatchMap.put(o,o);
  orderList.addLast(o);
  notifyAll();
}

public synchronized void incubate ( T o ) { if ( o == null ) throw new IllegalArgumentException ( "null arg" ) ; if ( hatchMap . containsKey ( o ) ) throw new IllegalArgumentException ( o + " is already incubating" ) ; hatchMap . put ( o , o ) ; orderList . addLast ( o ) ; notifyAll ( ) ; }
add object to the queue
