code: @Override
    public UnitValue convert(UnitValue value) {
      Unit src = value.unit();
      switch (src.category()) {
        case CONCENTR:
        case LIGHT:
          // Not available
          break;
          
        case ACCELERATION:
          return convert(value, Unit.METER_PER_SECOND_SQUARED, UnitFactors.ACCELERATION);
        case ANGLE:
          return convert(value, UnitFactorSets.ANGLE);
        case AREA:
          return convert(value, areaFactors());
        case CONSUMPTION:
          return convert(value, consumptionUnit());
        case DIGITAL:
          return convert(value, UnitFactorSets.DIGITAL_BYTES);
        case DURATION:
          return convert(value, UnitFactorSets.DURATION);
        case ELECTRIC:
          return convert(value, UnitFactorSets.ELECTRIC);
        case ENERGY:
          return convert(value, energyFactors());
        case FREQUENCY:
          return convert(value, UnitFactorSets.FREQUENCY);
        case LENGTH:
          return convert(value, lengthFactors());
        case MASS:
          return convert(value, massFactors());
        case POWER:
          return convert(value, UnitFactorSets.POWER);
        case PRESSURE:
          return convert(value, Unit.MILLIBAR);
        case SPEED:
          return convert(value, speedUnit());
        case TEMPERATURE:
          return convert(value, temperatureUnit());
        case VOLUME:
          return convert(value, volumeFactors());
      }
      
      return value;
    }
docs: Convert the given unit value into the best unit for its category
  relative to the current measurement system.