private void onAccountChoose(String accountName) {
    try {
      YukonAccount[] secondaryAccountArray = yukonAccountKeeper.getSecondaryAccountArray();

      if (!addingAccount) {
        secondaryAccountArray = removeSecondaryAccount(secondaryAccountArray, accountName);
      }
      secondaryAccountArray =
          addSecondaryAccount(secondaryAccountArray, yukonAccountKeeper.getMainAccount());

      yukonAccountKeeper.setSecondaryAccountArray(secondaryAccountArray);
      yukonAccountKeeper.setMainAccount(new YukonAccount(null, accountName, null));

      commitYukonAccountKeeperRegister();
    } catch (JSONException e) {
      e.printStackTrace();
    }

    generateCredential();
    requestAuthorization();

    if (addingAccount) {
      addingAccount = false;
      Intent refreshIntent = new Intent(this, getClass());
      startActivity(refreshIntent);
      finish();
    }
  }