@Override
  public int hashCode() {
    int hash = 0;
    int length = keys.length;
    for (int i = 0; i < length; i++) {
      // key index is its hashcode
      hash += keys[i] ^ values[i].hashCode();
    }
    return hash;
  }
@Override
  public int hashCode()