code: public void addObject(E object){
  		if(stopped==true){
  			log.warn("Adding a new object ignored, the pool is stopped");
  			return ;
  		}
  
  		// add to the end
  		objectList.add(object);
  //		if (log.isDebugEnabled()){
  //			log.debug("ADD, size:'"+objectListSize()+"' "+object.hashCode()+" stopped:"+stopedThreadNumber+" "+object.toString());
  //		}
  
  		// Waits for an stoped worked before returning !!!!
  		// except if this thread is a thread of the pool 
  		if (!objectList.isEmpty() && stopedThreadNumber==0 && !threadMap.containsKey(Thread.currentThread().getName())){
  			synchronized (threadList) {
  				try {
  					threadList.wait();
  				} catch (InterruptedException e) {
  					
  				}
  			}
  		}
  		
  		synchronized (objectList) {
  			objectList.notify();
  		}
  	}
docs: add a new object into the consumer list to be consumed!
  Warning this wait the current thread to wait for an thread to handle this object