anchor.diff:      LContainer.Clear;
       try
         // load selected user accounts
  -      for i := Low(AccountNumbers) to High(AccountNumbers) do
  -      begin
  +      for i := Low(AccountNumbers) to High(AccountNumbers) do begin
           acc := safeBox.Account(AccountNumbers[i]);
           if keys.IndexOfAccountKey(acc.accountInfo.accountKey) >= 0 then
  -        begin
             LContainer.Add(acc);
  -        end;
         end;
       finally
         safeBox.EndThreadSave;
  
positive.code:     cbAccounts.ItemIndex := 0
    else if selectLast then
      cbAccounts.ItemIndex := cbAccounts.Items.Count - 1
    else
    begin
      for i := 1 to cbAccounts.Items.Count - 2 do
      begin
        if TAccountKeyEqualityComparer.AreEqual(TBox<TAccountKey>(
          cbAccounts.Items.Objects[i]).Value, last_key) then
        begin
          cbAccounts.ItemIndex := i;
          exit;
        end;
  
negative.code:   str: ansistring;
  begin
    // determine current selection
    if cbAccounts.ItemIndex >= 1 then begin
      if cbAccounts.ItemIndex < cbAccounts.Items.Count - 1 then begin
        last_key := TBox<TAccountKey>(
          cbAccounts.Items.Objects[cbAccounts.ItemIndex]).Value;
        selectFirst := False;
        selectLast := False;
      end else begin
        selectFirst := False;
        selectLast := True;
      end;
    end else begin
      selectFirst := True;
      selectLast := False;
    end;
  