@Override
  public PsiElement replace(@NotNull PsiElement psiElement) throws IncorrectOperationException {
    final ASTNode newNode = psiElement.getNode();
    final ASTNode myNode = getNode();

    assert newNode != null;
    myNode.getTreeParent().replaceChild(myNode, newNode);

    return newNode.getPsi();
  }
@Override
  public PsiElement replace(@NotNull PsiElement psiElement)