@Override
  public PsiElement add(@NotNull PsiElement psiElement) throws IncorrectOperationException {
    final ASTNode astNode = psiElement.getNode();
    assert astNode != null;

    getNode().addChild(astNode);
    final PsiElement r = getNode().getLastChildNode().getPsi();

    assert r.getClass() == psiElement.getClass();
    return r;
  }
@Override
  public PsiElement add(@NotNull PsiElement psiElement)