@Override
  protected void doFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) throws IncorrectOperationException {
    final PsiElement element = descriptor.getPsiElement();
    final PsiElement parent = element.getParent();

    try {
      final PsiType type = JavaPsiFacade.getElementFactory(project).createTypeFromText(myType, element);

      if (parent instanceof GrVariable) {
        ((GrVariable)parent).setType(type);
      }
      else if (element instanceof GrReferenceExpression &&
               parent instanceof GrAssignmentExpression &&
               ((GrAssignmentExpression)parent).getLValue() == element) {
        final PsiElement resolved = ((GrReferenceExpression)element).resolve();
        if (resolved instanceof GrVariable && !(resolved instanceof GrParameter)) {
          ((GrVariable)resolved).setType(type);
        }
      }
    }
    catch (IncorrectOperationException e) {
      LOG.error(e);
    }
  }
@Override
  protected void doFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor)