# File src/Session.rb, line 114
                def handleRequest(context)
                        @statistics.hit
                        @access_time = Time.now
                        mylog = Logger['iowa_log']
                        if @lock.locked?
                                mylog.info("Session collision.  Waiting.")
                        end
                        @lock.synchronize do
                                begin
                                        context.session = self
        
                                        begin
                                                requestPage = @currentPage
                                                @context = context
        
                                                raise IgnoreRequest unless context.requestID
                                                return handle_resource(context) if @resources.has_key? "#{context.requestID}.#{context.actionID}"
                                                raise PageExpired unless @pages.include? context.requestID
                                                requestPage = @pages[context.requestID]
        
                                                if @requestCount != context.requestID
                                                        requestPage.handleBacktrack
                                                end
        
                                                @currentPage = requestPage.dup
                                                
                                                @application.reloadModified(@currentPage.class.to_s)
                                                
                                                @currentPage.handleRequest(context)
                                                nextPage = context.invokeAction
                                                @currentPage = nextPage if nextPage
        
                                                @requestCount = @requestCount.next
        
                                        rescue IgnoreRequest
                                                @currentPage = requestPage
                                        end
        
                                        handleResponse(context)
                                rescue PageExpired
                                        expired(@pages.queue.last,context)
                                end
                        end
                end