public int compare(NumericInterval i) {
		
		if (lowerUndefined == i.lowerUndefined &&
				lowerOpen == i.lowerOpen &&
				upperUndefined == i.upperUndefined &&
				upperOpen == i.upperOpen &&
				lowerBound == i.lowerBound &&
				upperBound == i.upperBound)
			return 0;
		
		if (this.upperBound <= i.lowerBound)
			return -1;

		if (this.lowerBound >= i.upperBound)
			return 1;
		
		throw new ThinklabRuntimeException("error: trying to sort overlapping numeric intervals");
		
	}