code: @Override
  	public Integer getMidpoint() {
  		if (isEmpty())
  			return null;
  		long from = getStart() == null ? Integer.MIN_VALUE : getStart();
  		long to = getEnd() ==  null ? Integer.MAX_VALUE : getEnd();
  		return (int)((from + to)/2);
  	}
docs: Determines the center of the interval.
  <p>
  For the purposes of this method, if the interval is defined unbounded, it
  is assumed to be bounded by Integer.MIN_VALUE, if it extends to negative
  infinity, and/or Integer.MAX_VALUE, if it extends to positive infinity.
  </p>
  @return The midpoint of the interval.