@Override
 public int hashCode() {
   int result = super.hashCode();
   result = 31 * result + bound.hashCode();
   result = 31 * result + (dimFilter != null ? dimFilter.hashCode() : 0);
   return result;
 }
 @Override
 public int hashCode() {
   int result = super.hashCode();
   result = 31 * result + (limitSpec != null ? limitSpec.hashCode() : 0);
   result = 31 * result + (havingSpec != null ? havingSpec.hashCode() : 0);
   result = 31 * result + (dimFilter != null ? dimFilter.hashCode() : 0);
   result = 31 * result + (granularity != null ? granularity.hashCode() : 0);
   result = 31 * result + (dimensions != null ? dimensions.hashCode() : 0);
   result = 31 * result + (aggregatorSpecs != null ? aggregatorSpecs.hashCode() : 0);
   result = 31 * result + (postAggregatorSpecs != null ? postAggregatorSpecs.hashCode() : 0);
   result = 31 * result + (limitFn != null ? limitFn.hashCode() : 0);
   return result;
 }