protected function countManyAssociatedItems(
        array &$aItems,
        $sItemProperty,
        $sAssociatedItemIdColumn,
        $sAssociatedModel,
        $sAssociatedModelProvider,
        array $aAssociatedModelData = []
    ) {
        if (!empty($aItems)) {

            $oAssociatedModel = Factory::model($sAssociatedModel, $sAssociatedModelProvider);

            foreach ($aItems as $oItem) {
                //  Use a new array so as not to impact the original request
                $aQueryData = $aAssociatedModelData;
                if (empty($aQueryData['where'])) {
                    $aQueryData['where'] = [];
                }
                $aQueryData['where'][]   = [$sAssociatedItemIdColumn, $oItem->id];
                $oItem->{$sItemProperty} = $oAssociatedModel->countAll($aQueryData);
            }
        }
    }