public Quantity sub (Quantity target) throws IllegalArgumentException
  {
    if(target.unit == null || !target.unit.equals(this.unit))
    { throw new IllegalArgumentException(); }
    
    Quantity result = new Quantity (this.value - target.value, target.numerator, target.denominator);
    
    return result;
  }