public Block getOrCreateBlockFor(@NotNull Pair<PsiElement, Language> root) {
    if (!myRootToBlockMap.containsKey(root)) {
      myRootToBlockMap.put(root, createBlockFor(root));
    }
    return myRootToBlockMap.get(root);
  }
public Block getOrCreateBlockFor(@NotNull Pair<PsiElement, Language> root)