@Override
 public boolean equals(Object obj) {
   return ObjectUtils.isEqual(this, obj);
 }
 @Override
 public int hashCode() {
   return ObjectUtils.hashCode(this);
 }