ASTNode (final List<? extends Block> subBlocks) { LOG.assertTrue(!subBlocks.isEmpty()); final Block firstBlock = subBlocks.get(0); if (firstBlock instanceof AbstractBlock) { return ((AbstractBlock)firstBlock).getNode(); } else { return getFirstNode(firstBlock.getSubBlocks()); } }