So am trying to retrieve values from firestore database,
then store them into an Arraylist.There after am trying to choose the values at random from the array,
then am updating a different field in the document ("GameState") while using the randomly selected value as a Key to update the ("GameState")  field  in the document.
This what I have tried: But when I run it, the app crashes.
GamePortals.get()
    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull @NotNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()){
            ArrayList<Integer> numberPot;
                        numberPot = new ArrayList<>();
                        int randomPicker = (int) (Math.random()*4);
                    for (QueryDocumentSnapshot document: task.getResult()){
                        //displayData.setText(String.valueOf(document.get("GameCode")));
                        
                        numberPot.add((Integer) document.get("GameCode"));
                        numberPot.get(randomPicker);
                        //displayData.setText(String.valueOf(numberPot));          
                        //displayData.setText(numberPot.get(randomPicker));
                       // Log.d(TAG,"onCreate: numbers:" + numberPot.get(randomPicker));
                        GamePortals.whereEqualTo("GameCode", numberPot.get(randomPicker))
                                .get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                            @Override
                            public void onComplete(@NonNull @NotNull Task<QuerySnapshot> task) {
                                if (task.isSuccessful()){
                                    document.getReference().update("GameState","Winner");
                                    Toast.makeText(getApplicationContext(),"Updating was successful!", Toast.LENGTH_SHORT).show();
                                }else
                                {
                                    Toast.makeText(getApplicationContext(),"Updating was not successful!", Toast.LENGTH_SHORT).show();
                                }
                            }
                        });
                    }
            displayData.setText(String.valueOf(numberPot.get(randomPicker)));
                }else{
                    Toast.makeText(getApplicationContext(),"Some is wrong with Query", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
ERROR LOGCAT filtered by Error logcat image
LINE 83 (CODE SCREENSHOT ) Contains screenshot of the code(referenced in error logcat)
