private void init() {
    request = requests.anamnesisCheckRequest();

    if (anamnesisCheck == null) {
      AnamnesisCheckProxy anamnesisCheck = request.create(AnamnesisCheckProxy.class);
      this.anamnesisCheck = anamnesisCheck;
      view.setEditTitle(false);
    } else {
      // cannot be set via editor...
      view.setEditTitle(true);
    }

    //		GWT.log("$$$$$$$$$$$$$$$$ anamnesisCheck be
    // title="+anamnesisCheck.getAnamnesisCheckTitle().getText());
    //		GWT.log("$$$$$$$$$$$$$$$$ anamnesisCheck be sort oder="+anamnesisCheck.getSort_order());
    anamnesisCheckBefore = anamnesisCheck;

    Log.info("edit");

    Log.info("persist");

    request.persist().using(anamnesisCheck);
    editorDriver.edit(anamnesisCheck, request);

    Log.info("flush");
    //		editorDriver.flush();
    Log.debug("Create für: " + anamnesisCheck.getId());

    // manually update value fields... (no editor support)

    view.update(anamnesisCheck);

    initInsideTitle();
    if (place.getOperation() == Operation.EDIT) {
      getQuestionsByselected(anamnesisCheck.getAnamnesisCheckTitle());
    } else if (place.getOperation() == Operation.CREATE) {
      requests
          .anamnesisCheckTitleRequest()
          .findAnamnesisCheckTitle(Long.valueOf(place.getTitleId()))
          .fire(
              new Receiver<AnamnesisCheckTitleProxy>() {

                @Override
                public void onSuccess(AnamnesisCheckTitleProxy response) {
                  getQuestionsByselected(response);
                }
              });
    }
  }
  @Override
  public void start(AcceptsOneWidget panel, EventBus eventBus) {

    Log.info("AnamnesisCheckEditActivity.start()");
    AnamnesisCheckEditView anamnesisCheckEditView = new AnamnesisCheckEditViewImpl();

    this.widget = panel;
    this.view = anamnesisCheckEditView;

    editorDriver = view.createEditorDriver();

    view.setDelegate(this);

    if (this.place.getOperation() == Operation.EDIT) {
      Log.info("edit");
      requests
          .find(place.getProxyId())
          .with("anamnesisForm", "anamnesisCheckTitle")
          .fire(
              new Receiver<Object>() {
                public void onFailure(ServerFailure error) {
                  Log.error(error.getMessage());
                }

                @Override
                public void onSuccess(Object response) {
                  if (response instanceof AnamnesisCheckProxy) {
                    Log.info(((AnamnesisCheckProxy) response).getId().toString());
                    // init((AnamnesisCheckProxy) response);
                    anamnesisCheck = (AnamnesisCheckProxy) response;
                    init();
                  }
                }
              });
    } else {

      Log.info("new AnamnesisCheck");
      // anamnesisCheckPlace.setProxyId(anamnesisCheck.stableId());
      init();
    }
    // view.initialiseDriver(requests);
    widget.setWidget(anamnesisCheckEditView.asWidget());
    // setTable(view.getTable());
  }
  @SuppressWarnings("deprecation")
  private void sortOderByPrevious() {

    int previousSortOder = 0;
    if (view.getSelectedPreviousQuestion() != null
        && !view.getSelectedPreviousQuestion().equals("")
        && view.getSelectedPreviousQuestion().length() != 0) {

      // System.out.println("inside if--"+view.getSelectedPreviousQuestion());
      // System.out.println("inside if--"+Integer.valueOf(view.getSelectedPreviousQuestion()));
      // TODO: If remove comment then null pointer exceptin occurs from server side. Need to check
      // in detail.
      /*previousSortOder = Integer.valueOf(view
      .getSelectedPreviousQuestion());*/

    }
    // GWT.log("@@@@@@@@@@@@@@@@@@anamnesisCheckBefore =
    // "+anamnesisCheckBefore.getAnamnesisCheckTitle().getText());
    if (place.getOperation() == Operation.EDIT
        && anamnesisCheckBefore != null
        && anamnesisCheck != null
        && anamnesisCheckBefore.getAnamnesisCheckTitle() != null
        && anamnesisCheck.getAnamnesisCheckTitle() != null
        && anamnesisCheckBefore.getAnamnesisCheckTitle().getId()
            == anamnesisCheck.getAnamnesisCheckTitle().getId()) {
      GWT.log("################call oderByPreviousAnamnesisCheck ");
      requests
          .anamnesisCheckRequest()
          .oderByPreviousAnamnesisCheck(previousSortOder)
          .using(anamnesisCheck)
          .fire(
              new Receiver<Void>() {

                @Override
                public void onSuccess(Void response) {
                  GWT.log(">>>>>>>>>>>>>>>>>>> oderByPreviousAnamnesisCheck success !");
                  placeController.goTo(
                      new AnamnesisCheckDetailsPlace(anamnesisCheck.stableId(), Operation.NEW));
                }
              });
    } else {
      GWT.log("################call insertAnamnesisCheck ");
      // System.out.println("sort order--"+previousSortOder);
      // System.out.println("id--"+anamnesisCheck.getId());

      requests
          .anamnesisCheckRequest()
          .insertAnamnesisCheck(previousSortOder)
          .using(anamnesisCheck)
          .fire(
              new Receiver<Void>() {

                @Override
                public void onSuccess(Void response) {
                  GWT.log(">>>>>>>>>>>>>>>>>>> insertAnamnesisCheck success !");
                  if (place.getOperation() == Operation.EDIT
                      && anamnesisCheckBefore != null
                      && anamnesisCheckBefore.getAnamnesisCheckTitle() != null
                      && anamnesisCheckBefore.getSort_order() != null) {

                    GWT.log(">>>>>>>>>>>>>>>>>>> reSorting call !");
                    requests
                        .anamnesisCheckRequest()
                        .reSorting(
                            anamnesisCheckBefore.getAnamnesisCheckTitle(),
                            anamnesisCheckBefore.getSort_order() + 1)
                        .fire(
                            new Receiver<Void>() {

                              @Override
                              public void onSuccess(Void response) {
                                GWT.log(">>>>>>>>>>>>>>>>>>> reSorting success !");
                                placeController.goTo(
                                    new AnamnesisCheckDetailsPlace(
                                        anamnesisCheck.stableId(), Operation.NEW));
                              }
                            });

                  } else {
                    placeController.goTo(
                        new AnamnesisCheckDetailsPlace(anamnesisCheck.stableId(), Operation.NEW));
                  }
                }
              });
    }
  }