@Override
    public boolean equals(@Nullable TypeConstraint o1, @Nullable TypeConstraint o2) {
      return o1 == o2 || (o1 != null && o2 != null && o1.getClass().equals(o2.getClass()) && o1.getType().equals(o2.getType()));
    }
@Override
    public boolean equals(@Nullable TypeConstraint o1, @Nullable TypeConstraint o2)