private void loadImage(int questionId) {
    // TODO: imageLoader in een apparte task maken
    try {
      PictureRequest request = new PictureRequest(questionId);
      request.onResponse(
          new FxResponseListener() {
            @Override
            public void handleFxResponse(Response response) {
              if (response instanceof ExceptionResponse) {
                messageMaker.showWarning(((ExceptionResponse) response).getExceptionMessage());
              } else if (response instanceof PictureResponse) {
                PictureResponse pic = (PictureResponse) response;
                try {
                  pictureForQuestion.put(pic.getQuestionId(), pic.getPictureResource());
                } catch (IOException e) {
                  messageMaker.showWarning("Kon afbeelding niet laden");
                }
              }
            }
          });

      request.send();

    } catch (UnknownHostException e) {
      messageMaker.showWarning("Kon afbeelding niet ophalen");
    } catch (IdRangeException e) {
      messageMaker.showWarning("Kon afbeelding niet ophalen");
    } catch (IOException e) {
      messageMaker.showWarning("Kon afbeelding niet ophalen");
    }
  }
  private void send(List<QuestionSubmit> list) {

    // TODO: dit door een task laten uitvoeren

    try {
      Client client = Client.getInstance();

      for (QuestionSubmit s : list) {
        client.send(answerForQuestion.get(s));
        answerForQuestion.remove(s);
      }
    } catch (UnknownHostException e) {
      messageMaker.showError("kon antwoorden niet doorsturen");
    } catch (IOException e) {
      messageMaker.showError("kon antwoorden niet doorsturen");
    }
  }
  @FXML
  private void sendRound() {
    if (answerForQuestion.size() != currentPlayingRound.get().getAmountOfQuestions()) {
      messageMaker.showWarning("niet alle vragen zijn ingevuld");
      return;
    }

    send(questionsForRound.get(currentPlayingRound.get()));

    // de huidige ronde verwijderen
    questionsForRound.remove(currentPlayingRound.get());
    if (questionsForRound.isEmpty()) {
      currentPlayingRound.set(null);
    } else {
      for (RoundSubmit s : questionsForRound.keySet()) {
        currentPlayingRound.set(s);
        break;
      }
    }
  }