sclass HashedByteArray { byte[] data; int hashCode; public int hashCode() { if (hashCode == 0) hashCode = oneIfZero(arrayHashCode(data)); ret hashCode; } public bool equals(O o) { if (o cast HashedByteArray) ret this == o || hashCode == o.hashCode && arraysEqual(data, o.data); false; } }