private static double parseUnit(String unit) {
        unit = unit.trim();
        final double multiplier;
        if ("ks".equals(unit)) {
            multiplier = 1e6d;
        } else if ("s".equals(unit)) {
            multiplier = 1000.0d;
        } else if ("ms".equals(unit)) {
            multiplier = 1.0d;
        } else if ("\u00B5s".equals(unit)) {
            // microseconds
            multiplier = 1e-3d;
        } else {
            multiplier = 1000.0d;
        }
        return multiplier;
    }
Tries to return the given object as a Long. If it is a Number, treat it
as a number of seconds, i.e. get a Long representation and multiply by
1000. If it has a String representation, try to parse this as a floating
point number, followed by by an optional unit (seconds and an SI prefix,
a couple of valid examples are "s" and "ms". Only a very small subset of
SI prefixes are supported). If no unit is given, seconds are assumed.

@param value some representation of a number of seconds
@param defaultValue returned if value is null
@return value as a number of milliseconds
@throws NumberFormatException if value is not a Number instance and its String
        representation cannot be parsed as a number followed optionally by time unit
vespaclient-core/src/main/java/com/yahoo/feedhandler/ParameterParser.java