public boolean equals(final IdentityArrayList<K> l) {
    if (l == this) {
      return true;
    }
    int s = size();
    if (s != l.size()) {
      return false;
    }
    final K[] a1 = a;
    final K[] a2 = l.a;
    while (s-- != 0) {
      if (!valEquals(a1[s], a2[s])) {
        return false;
      }
    }
    return true;
  }
Compares this type-specific array list to another one.

<P>
This method exists only for sake of efficiency. The implementation inherited from the abstract
implementation would already work.

@param l a type-specific array list.
@return true if the argument contains the same elements of this type-specific array list.
geode-core/src/main/java/org/apache/geode/internal/cache/IdentityArrayList.java