public Object getValue(Object self) {
        Object value = property.getValue(self);
        if (value == null) {
            return null;
        }
        return valueProperty.getValue(value);
    }