* @param request The <code>DOMMessage</code> question.
     * @return The response to the question, or null if none.
     */
    private DOMMessage askTimeout(ServerPlayer serverPlayer,
                                  DOMMessage request) {
        Future<DOMMessage> future = askFuture(serverPlayer, request,
            new DOMMessageHandler() {
                public DOMMessage handle(DOMMessage message) {
                    return message;
                }
            });
        DOMMessage reply;
        try {
            boolean single = getFreeColServer().isSinglePlayer();
            reply = future.get(FreeCol.getFreeColTimeout(single),
                               TimeUnit.SECONDS);
        } catch (TimeoutException te) {
            sendElement(serverPlayer,
                new ChangeSet().addTrivial(See.only(serverPlayer),
                    "closeMenus", ChangePriority.CHANGE_NORMAL));
            reply = null;
        } catch (Exception e) {
            reply = null;
            logger.log(Level.WARNING, "Exception completing future", e);
        }
        return reply;
    }