public function convert($sourceDuration, TimeUnit $sourceUnit)
    {
        switch ($this->getValue()) {
            case self::NANOSECONDS:
                return $sourceUnit->toNanos($sourceDuration);
            case self::MICROSECONDS:
                return $sourceUnit->toMicros($sourceDuration);
            case self::MILLISECONDS:
                return $sourceUnit->toMillis($sourceDuration);
            case self::SECONDS:
                return $sourceUnit->toSeconds($sourceDuration);
            case self::MINUTES;
                return $sourceUnit->toMinutes($sourceDuration);
            case self::HOURS;
                return $sourceUnit->toHours($sourceDuration);
            case self::DAYS:
                return $sourceUnit->toDays($sourceDuration);
        }
    }