public static boolean accept(AbstractSyntaxNode node, TokenReader reader)
    {
        boolean result = false;
        
        if (reader.accept(Token.OPEN_BRACK))
        {
            final Block block = new Block();
            
            while (Statement.accept(block, reader)
                    || IfStatement.accept(block, reader)
                    || WhileLoop.accept(block, reader))
            {
                
            }
            
            reader.expect(Token.CLOSE_BRACK, "block end");
            
            node.addChild(block);
            
            result = true;
        }
        
        return result;
    }