private void createLeafBlocks(ASTNode node, List<Block> result) {
    if (node instanceof OuterLanguageElement) {
      processChild(result, node, null, null, null);
      return;
    }

    ASTNode child = node.getFirstChildNode();
    if (child == null && !(node instanceof PsiWhiteSpace) && node.getElementType() != TokenType.ERROR_ELEMENT && node.getTextLength() > 0) {
      result.add(new ReadOnlyBlock(node));
      return;
    }
    while (child != null) {
      createLeafBlocks(child, result);
      child = child.getTreeNext();
    }
  }
private void createLeafBlocks(ASTNode node, List<Block> result)