public override void OnEntry(MethodExecutionEventArgs eventArgs)
        {
/*
 *          if (implementation == null)
 *          {
 */
            implementation =
                (NotifyPropertyChangeImplementation)
                ((IComposed <INotifyPropertyChange>)eventArgs.Instance).GetImplementation(
                    eventArgs.InstanceCredentials);

/*
 *          }
 */

            implementation.FirePropertyChanging(implementation.instance, new PropertyChangingEventArgs(propertyName));
        }
 public override void OnException(MethodExecutionEventArgs eventArgs)
 {
     base.OnException(eventArgs);
     log.Error("Exception occured during property set", eventArgs.Exception);
     implementation = null;
 }
 public override void OnExit(MethodExecutionEventArgs eventArgs)
 {
     implementation = null;
 }