@Override
  public final boolean equals(Object o) {
    return o instanceof Pair && Comparing.equal(first, ((Pair<?, ?>)o).first) && Comparing.equal(second, ((Pair<?, ?>)o).second);
  }
@Override
  public final boolean equals(Object o)