public void Apply(object target, INumbersVisitor visitor) { try { mNumber.Apply(visitor); } catch (InvalidOperationException e) { var msg = "Failed to read property \'" + mName + "\'. See inner exception for details"; throw new InvalidOperationException(msg, e); } mSetter(target, mNumber.Value); }