@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null || !(obj instanceof Collection<?>))
			return false;
		IndexedSet<?> other = convert((Collection<?>) obj);
		return this.indexToItem == other.indexToItem
			&& this.itemToIndex == other.itemToIndex
			&& this.indices.equals(other.indices);
	}