public synchronized T removeNextHatchedIfAvailable(){
  T o=getNextHatchedIfAvailable();
  if (o == null)   return null;
  orderList.removeFirst();
  hatchMap.remove(o);
  notifyAll();
  return o;
}

public synchronized T removeNextHatchedIfAvailable ( ) { T o = getNextHatchedIfAvailable ( ) ; if ( o == null ) return null ; orderList . removeFirst ( ) ; hatchMap . remove ( o ) ; notifyAll ( ) ; return o ; }
remove next hatched object if available
