return id == otherArray.id && Arrays.equals(ids, otherArray.ids) && Arrays.equals(values, otherArray.values);
}
@Override
public Iterator<Preference> iterator() {
return Iterators.transform(new CountingIterator(length()),
new Function<Integer, Preference>() {
@Override
public Preference apply(Integer from) {
return new PreferenceView(from);
}