@Override
  public PsiElement bindToElement(@NotNull PsiElement element) throws IncorrectOperationException {
    CheckUtil.checkWritable(this);

    if (isReferenceTo(element) || !isPhysical()) return this;
    if (element instanceof PsiMethod) {
      return handleElementRename(((PsiMethod)element).getName());
    }
    else if (element instanceof PsiClass) {
      return this;
    }
    else {
      throw new IncorrectOperationException(element.toString());
    }
  }
@Override
  public PsiElement bindToElement(@NotNull PsiElement element)