@Override public boolean remove(Object object) {Object[] a = array;int s = size;if (object != null) {for (int i = 0; i < s; i++) {if (object.equals(a[i])) {System.arraycopy(a, i + 1, a, i, --s - i);a[s] = null;  size = s;modCount++;return true;}}} else {for (int i = 0; i < s; i++) {if (a[i] == null) {System.arraycopy(a, i + 1, a, i, --s - i);a[s] = null;  size = s;modCount++;return true;}}}return false;}
public override bool remove(object @object){object[] a = array;int s = _size;if (@object != null){{for (int i = 0; i < s; i++){if (@object.Equals(a[i])){System.Array.Copy(a, i + 1, a, i, --s - i);a[s] = null;_size = s;modCount++;return true;}}}}else{{for (int i = 0; i < s; i++){if (a[i] == null){System.Array.Copy(a, i + 1, a, i, --s - i);a[s] = null;_size = s;modCount++;return true;}}}}return false;}