public void endTableGroup(ITableGroupContent group) throws BirtException {
   if (cellEmitter != null) {
     cellEmitter.endTableGroup(group);
   } else {
     if (!isNestTable()) {
       // if there is no group footer, we still need to do with the
       // drop.
       int groupLevel = getGroupLevel();
       resolveCellsOfDrop(groupLevel, false, isContentFinished(group));
       resolveCellsOfDrop(groupLevel, true, isContentFinished(group));
       assert !groupStack.isEmpty();
       groupStack.pop();
       if (hasDropCell()) {
         layoutEvents.push(new LayoutEvent(LayoutEvent.END_GROUP, group));
         return;
       }
       flush();
     }
     emitter.endTableGroup(group);
   }
 }