@Override
  public int hashCode() {
    int result = javaType != null ? javaType.hashCode() : 0;
    result = 31 * result + (name != null ? name.hashCode() : 0);
    result = 31 * result + (parsimoniousStorage ? 1 : 0);
    result = 31 * result + (indexes != null ? indexes.hashCode() : 0);
    result = 31 * result + (keyComponents != null ? keyComponents.hashCode() : 0);
    result = 31 * result + (properties != null ? properties.hashCode() : 0);
    return result;
  }