public EnhanceSetterTransformationContext(PropertyDeclaration property, EnhanceSetterTransformationOptions transformationOptions)
 {
     if (property == null) throw new ArgumentNullException("property");
     if (transformationOptions == null) throw new ArgumentNullException("transformationOptions");
     Property = property;
     TransformationOptions = transformationOptions;
 }
 protected override void Initialize()
 {
     base.Initialize();
     //At this point Annotations is populated
     _enhanceSetterTransformationOptions = GetTransformationOptions();
     if (_enhanceSetterTransformationOptions == null) return;
     if (_enhanceSetterTransformationOptions.InvokePropertyChanged || _enhanceSetterTransformationOptions.CheckEquality) {
         _enhancePropertySetterMethodBodyTransformation =
             new EnhancePropertySetterMethodBodyTransformation(AdviceWeaver.AspectWeaver);
         PrepareTransformation(_enhancePropertySetterMethodBodyTransformation);
     }
 }