refactored PropertyExpression: more efficient inverse operation