code: public void start()
          throws Exception
      {
          synchronized(this)
          {
              _running++;
              if (_running>1)
                  return;
  
  	    	if (_min >= _max || _max<1)
  				throw new IllegalStateException("!(0<=min<max)");
  
              // Start the threads
              _pondLife=new PondLife[_max];
              _index=new int[_max];
              _size=0;
              _available=0;
              
              for (int i=0;i<_max;i++)
                  _index[i]=i;
              for (int i=0;i<_min;i++)
                  newPondLife();
          }
      }
docs: /* ------------------------------------------------------------