docs: private void addChildren(ArrayList<View> views, ViewGroup viewGroup, boolean onlySufficientlyVisible) {
  		if(viewGroup != null){
  			for (int i = 0; i < viewGroup.getChildCount(); i++) {
  				final View child = viewGroup.getChildAt(i);
  
  				if(onlySufficientlyVisible && isViewSufficientlyShown(child)) {
  					views.add(child);
  				}
  
  				else if(!onlySufficientlyVisible && child != null) {
  					views.add(child);
  				}
  
  				if (child instanceof ViewGroup) {
  					addChildren(views, (ViewGroup) child, onlySufficientlyVisible);
  				}
  			}
  		}
  	}