boolean (Object o) { if (o == this) return true; if (!(o instanceof FastSparseSet)) return false; int[] longdata = ((FastSparseSet<?>)o).getData(); int[] shortdata = data; if (data.length > longdata.length) { shortdata = longdata; longdata = data; } for (int i = shortdata.length - 1; i >= 0; i--) { if (shortdata[i] != longdata[i]) { return false; } } for (int i = longdata.length - 1; i >= shortdata.length; i--) { if (longdata[i] != 0) { return false; } } return true; }