}
Value value = sm.getValue(propidx);
if (!sm.isComputed(propidx)) {
Value result = value;
ValueManager vm = valueManagers[propidx];
CSSStylableElement p = getParentCSSStylableElement(elt);
if (value == null && (!vm.isInheritedProperty() || p == null)) {
result = vm.getDefaultValue();
} else if (value != null &&
(value == InheritValue.INSTANCE) &&
p != null) {
result = null;
}
if (result == null) {
// Value is 'inherit' and p != null.
// The pseudo class is not propagated.
result = getComputedStyle(p, null, propidx);
sm.putParentRelative(propidx, true);
} else {
// Maybe is it a relative value.
result = vm.computeValue(elt, pseudo, this, propidx,
sm, result);
}
if (value == null) {
sm.putValue(propidx, result);
sm.putNullCascaded(propidx, true);