bool CPVRChannelGroupInternal::CreateChannelEpgs(bool bForce /* = false */)
{
  CSingleLock lock(m_critSection);
  for (unsigned int iChannelPtr = 0; iChannelPtr < size(); iChannelPtr++)
  {
    CPVRChannel *channel = at(iChannelPtr).channel;
    if (!channel)
      continue;

    channel->CreateEPG(bForce);
  }
  lock.Leave();

  if (HasChangedChannels())
    return Persist();

  return true;
}