@Override public int lastIndexOf(Object object) {final int size;final Object[] array;synchronized (mutex) {size = list.size();array = new Object[size];list.toArray(array);}if (object != null) {for (int i = size - 1; i >= 0; i--) {if (object.equals(array[i])) {return i;}}} else {for (int i = size - 1; i >= 0; i--) {if (array[i] == null) {return i;}}}return -1;}

public virtual int lastIndexOf(object @object){int size_1;object[] array;lock (mutex){size_1 = list.size();array = new object[size_1];list.toArray(array);}if (@object != null){{for (int i = size_1 - 1; i >= 0; i--){if (@object.Equals(array[i])){return i;}}}}else{{for (int i = size_1 - 1; i >= 0; i--){if (array[i] == null){return i;}}}}return -1;}
