FieldInvocation fi = (FieldInvocation) invocation;
Object before = fi.getField().get(fi.getTargetObject());
Object result = invocation.invokeNext();
Object after = fi.getField().get(fi.getTargetObject());
if ((before == null && after != null) || (before != null && before.equals(after) == false))
{
Subject observable = (Subject) fi.getTargetObject();
observable.notifyObservers();
}
return result;