code: public synchronized boolean removeAny(Object element) {
  		if (end == start) return false;
  		if (end == -1) {
  			for (int i = array.length - 1; i >= 0; --i)
  				if (array[i].equals(element)) {
  					removeAt(i);
  					return true;
  				}
  			return false;
  		}
  		if (end < start) {
  			for (int i = array.length - 1; i >= start; --i)
  				if (array[i].equals(element)) {
  					removeAt(i);
  					return true;
  				}
  			for (int i = 0; i < end; ++i)
  				if (array[i].equals(element)) {
  					removeAt(i);
  					return true;
  				}
  			return false;
  		}
  		for (int i = start; i < end; ++i)
  			if (array[i].equals(element)) {
  				removeAt(i);
  				return true;
  			}
  		return false;
  	}
docs: remove this element, not necessarily the first or last occurrence.