@Nullable
 @Override
 protected RefactoringEventData getBeforeData() {
   final RefactoringEventData beforeData = new RefactoringEventData();
   beforeData.addElements(myElements);
   return beforeData;
 }
 @Nullable
 @Override
 protected RefactoringEventData getBeforeData() {
   RefactoringEventData data = new RefactoringEventData();
   data.addElements(new PsiElement[] {myLocalVariable, myExpressionToSearch});
   return data;
 }
 @Nullable
 @Override
 protected RefactoringEventData getBeforeData() {
   RefactoringEventData data = new RefactoringEventData();
   final List<PsiElement> fields = new ArrayList<PsiElement>();
   for (FieldDescriptor fieldDescriptor : myFieldDescriptors) {
     fields.add(fieldDescriptor.getField());
   }
   data.addElements(fields);
   return data;
 }
 @Nullable
 @Override
 protected RefactoringEventData getAfterData(UsageInfo[] usages) {
   RefactoringEventData data = new RefactoringEventData();
   List<PsiElement> elements = new ArrayList<PsiElement>();
   if (myNameToGetter != null) {
     elements.addAll(myNameToGetter.values());
   }
   if (myNameToSetter != null) {
     elements.addAll(myNameToSetter.values());
   }
   data.addElements(elements);
   return data;
 }