@Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    @SuppressWarnings("unchecked")
    EqualityComparable<T> that = (EqualityComparable<T>) o;
    return equComp.equals(this.wrapped, that.wrapped);
  }
 @Override
 public int hashCode() {
   return equComp.hashCode(wrapped);
 }