@Override
 public int hashCode() {
   int hashCode = ObjectUtil.nullHashCode(getSubject());
   hashCode = 31 * hashCode + ObjectUtil.nullHashCode(getPredicate());
   hashCode = 31 * hashCode + ObjectUtil.nullHashCode(getObject());
   hashCode = 31 * hashCode + super.hashCode();
   return hashCode;
 }
  @Override
  public boolean equals(Object other) {
    if (other instanceof StatementOperation) {
      StatementOperation o = (StatementOperation) other;

      return ObjectUtil.nullEquals(getSubject(), o.getSubject())
          && ObjectUtil.nullEquals(getPredicate(), o.getPredicate())
          && ObjectUtil.nullEquals(getObject(), o.getObject())
          && super.equals(other);
    }

    return false;
  }