ASTNode (final List<? extends Block> subBlocks) { LOG.assertTrue(!subBlocks.isEmpty()); final Block lastBlock = subBlocks.get(subBlocks.size() - 1); if (lastBlock instanceof AbstractBlock) { return ((AbstractBlock)lastBlock).getNode(); } else { return getLastNode(lastBlock.getSubBlocks()); } }