public synchronized int search(Object o) {final Object[] dumpArray = elementData;final int size = elementCount;if (o != null) {for (int i = size - 1; i >= 0; i--) {if (o.equals(dumpArray[i])) {return size - i;}}} else {for (int i = size - 1; i >= 0; i--) {if (dumpArray[i] == null) {return size - i;}}}return -1;}

public virtual int search(object o){lock (this){object[] dumpArray = elementData;int size_1 = elementCount;if (o != null){{for (int i = size_1 - 1; i >= 0; i--){if (o.Equals(dumpArray[i])){return size_1 - i;}}}}else{{for (int i = size_1 - 1; i >= 0; i--){if (dumpArray[i] == null){return size_1 - i;}}}}return -1;}}
