short type = guessType(initialValue);
short type = ValueConstants.guessType(initialValue);
    private FSDerivedValue valueByName(CSSName cssName) {        FSDerivedValue val = _derivedValuesById[cssName.FS_ID];        // but the property may not be defined for this Element        if (val == null) {            // if it is inheritable (like color) and we are not root, ask our parent            // for the value            if (CSSName.propertyInherits(cssName)                    && _parent != null                    //                    && (val = _parent.valueByName(cssName)) != null) {                val = val.copyOf(cssName);            } else {                // otherwise, use the initial value (defined by the CSS2 Spec)                String initialValue = CSSName.initialValue(cssName);                if (initialValue == null) {                    throw new XRRuntimeException("Property '" + cssName + "' has no initial values assigned. " +                            "Check CSSName declarations.");                }                if (initialValue.startsWith("=")) {                    CSSName ref = CSSName.getByPropertyName(initialValue.substring(1));                    val = valueByName(ref);                } else {                    initialValue = Idents.convertIdent(cssName, initialValue);                    short type = guessType(initialValue);                    val = DerivedValueFactory.newDerivedValue(this,                            cssName,                            type,                            initialValue,                            initialValue,                            null);                }            }            _derivedValuesById[cssName.FS_ID] = val;        }        return val;    }