code: public void add( int value ) {
  		// see if it needs to grow the queue
  		if( size >= data.length) {
  			int a[] = new int[ nextDataSize() ];
  
  			System.arraycopy(data,start,a,0,data.length-start);
  			System.arraycopy(data,0,a,data.length-start,start);
  			start = 0;
  			data = a;
  		}
  		data[(start+size)%data.length] = value;
  		size++;
  	}
docs: Adds a new element to the queue.  If the queue isn't large enough to store this value then its internal data
  array will grow
  @param value Value which is to be added