@Override
  public int hashCode() {
    if (hashCode == 0) {
      final int prime = 31;
      int result = 1;
      result = prime * result + ((high == null) ? 0 : high.hashCode());
      result = prime * result + (isClosedOnHigh ? 1231 : 1237);
      result = prime * result + ((low == null) ? 0 : low.hashCode());
      result = prime * result + (isClosedOnLow ? 1231 : 1237);
      hashCode = result;
    }
    return hashCode;
  }