@Override
public Object invoke( Object o, final Method method, Object[] objects ) throws Throwable
{
final Property<Object> property = (Property<Object>) next.invoke( o, method, objects );
return new PropertyWrapper(property)
{
@Override
public Object get()
{
Object result = next.get();