public synchronized boolean remove(Object o) {int index = indexOf(o);if (index == -1) {return false;}remove(index);return true;}
public virtual bool remove(object o){lock (this){int index = indexOf(o);if (index == -1){return false;}remove(index);return true;}}