code: public static function getUnit($unit)
      {
          // If this class hasn't been initialized yet, do so now
          if (!is_array(static::$unitDefinitions)) {
              static::$unitDefinitions = [];
              static::initialize();
          }
  
          $key = static::buildUnitCacheKey($unit);
          if (isset(self::$unitCache[$key])) {
              return self::$unitCache[$key];
          }
  
          foreach (static::$unitDefinitions as $unitOfMeasure) {
              if ($unit === $unitOfMeasure->getName() || $unitOfMeasure->isAliasOf($unit)) {
                  return self::$unitCache[$key] = $unitOfMeasure;
              }
          }
  
          throw new Exception\UnknownUnitOfMeasure([':unit' => $unit]);
      }
docs: Get the unit of measure that matches the given name by either name or alias.
  
  @param string $unit A name or alias by which the unit is known.
  
  @throws Exception\UnknownUnitOfMeasure when an unknown unit of measure is given
  
  @return UnitOfMeasureInterface