docs: private void addEmptyProgressBar(){
          int whereIsEmpty = -1;
          for (int i = 0; i < getChildCount(); i++) {
              if (retrieveChild(i) != null && retrieveChild(i).equals(emptyProgressBar)) {
                  whereIsEmpty = i;
              }
          }
  
          if (whereIsEmpty != getChildCount() - 1) {
              if (whereIsEmpty != -1) {
                  //the flowing true/false is to stop empty progressbar being added more than once as removeView and addView indirectly call this method
                  isEmptyBeingAdded = true;
                  removeView(emptyProgressBar);
                  isEmptyBeingAdded = false;
              }
              if (!isEmptyBeingAdded) {
                  addView(emptyProgressBar);
              }
          }
      }