docs: @Override
    public String validateCanonicalUnits(String unit, String canonical) {
  		assert checkStringParam(unit) : paramError("validate", "unit", "must not be null or empty");
  		assert checkStringParam(canonical) : paramError("validateCanonicalUnits", "canonical", "must not be null or empty");
  		try {
  			Term term = new ExpressionParser(model).parse(unit);
  			Canonical can = new Converter(model, handlers).convert(term);
  			String cu = new ExpressionComposer().compose(can, false);
  			if (!canonical.equals(cu))
  				return "unit "+unit+" has the base units "+cu+", not "+canonical+" as required.";
  			return null;
  		} catch (Exception e) {
  			return e.getMessage();
  		}
  	}