def doHandleUidlRequest(self, request, response, callback, window):
        self._requestThemeName = request.getParameter('theme')

        self._maxInactiveInterval = \
                request.getSession().getMaxInactiveInterval()

        # repaint requested or session has timed out and new one is created
        repaintAll = request.getParameter(
                self._GET_PARAM_REPAINT_ALL) is not None
        # || (request.getSession().isNew()); FIXME: What the h*ll is this??

        out = response.getOutputStream()

        analyzeLayouts = False
        if repaintAll:
            # analyzing can be done only with repaintAll
            analyzeLayouts = request.getParameter(
                    self._GET_PARAM_ANALYZE_LAYOUTS) is not None

            param = request.getParameter(self._GET_PARAM_HIGHLIGHT_COMPONENT)
            if param != None:
                pid = request.getParameter(self._GET_PARAM_HIGHLIGHT_COMPONENT)
                highLightedPaintable = self._idPaintableMap.get(pid)
                self.highlightPaintable(highLightedPaintable)

        outWriter = out

        # The rest of the process is synchronized with the application
        # in order to guarantee that no parallel variable handling is
        # made
        if self._application.isRunning():
            # Returns if no window found
            if window is None:
                # This should not happen, no windows exists but
                # application is still open.
                logger.warning('Could not get window for application '
                               'with request ID ' + request.getRequestID())
                return
        else:
            # application has been closed
            self.endApplication(request, response, self._application)
            return

        # Change all variables based on request parameters
        if not self.handleVariables(request, response, callback,
                self._application, window):

            # var inconsistency; the client is probably out-of-sync
            ci = None
            try:
                ci = self._application.__class__.getSystemMessages()
            except Exception:
                # FIXME: Handle exception
                # Not critical, but something is still wrong;
                # print stacktrace
                logger.warning('getSystemMessages() failed - continuing')

            if ci is not None:
                msg = ci.getOutOfSyncMessage()
                cap = ci.getOutOfSyncCaption()
                if (msg is not None) or (cap is not None):
                    callback.criticalNotification(request, response, cap,
                            msg, None, ci.getOutOfSyncURL())
                    # will reload page after this
                    return

            # No message to show, let's just repaint all.
            repaintAll = True

        self.paintAfterVariableChanges(request, response, callback, repaintAll,
                outWriter, window, analyzeLayouts)

        if self._closingWindowName is not None:
            if self._closingWindowName in self._currentlyOpenWindowsInClient:
                del self._currentlyOpenWindowsInClient[self._closingWindowName]

            self._closingWindowName = None

        # Finds the window within the application
        #outWriter.close()
        self._requestThemeName = None
Get the specified annotation
dataset/ETHPy150Open rwl/muntjac/muntjac/terminal/gwt/server/abstract_communication_manager.py/AbstractCommunicationManager.doHandleUidlRequest--crossover with--dataset/ETHPy150Open neurodata/ndstore/test/postmethods.py/getAnnotation