subroutine fillMembersArrayBundle(self, target, root_key, keywordEnforcer, rc)
class(ESMF_InfoDescribe), intent(inout) :: self
type(ESMF_ArrayBundle), intent(in) :: target
character(*), intent(in) :: root_key
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
integer, intent(inout), optional :: rc
type(ESMF_Array), dimension(:), allocatable :: targetList
integer :: ii, targetCount, localrc
localrc = ESMF_FAILURE
if (present(rc)) rc = ESMF_RC_NOT_IMPL
call ESMF_ArrayBundleGet(target, arrayCount=targetCount, rc=localrc)
if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return
allocate(targetList(targetCount))
call ESMF_ArrayBundleGet(target, arrayList=targetList, rc=localrc)
if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return
do ii=1,targetCount
call self%Update(targetList(ii), root_key, rc=localrc)
if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return
end do
deallocate(targetList)
if (present(rc)) rc = ESMF_SUCCESS
end subroutine fillMembersArrayBundle