public void initLayout(ITableContent table) {
   String keyString =
       context.getPageHintManager().getHintMapKey(table.getInstanceID().toUniqueString());
   this.layout = new TableContentLayout(table, getOutputFormat(), context, keyString);
   this.layoutEvents = new Stack();
   UnresolvedRowHint hint = null;
   if (isFirst) {
     if (context != null) {
       hint = context.getPageHintManager().getUnresolvedRowHint(keyString);
       isFirst = false;
     }
   }
   if (hint == null) {
     hint = hintMap.get(keyString);
   }
   layout.setUnresolvedRowHint(hint);
 }
  public void resolveAll(boolean finished) {
    layout.resolveDropCells(finished);
    UnresolvedRowHint hint = layout.getUnresolvedRow();
    if (hint != null) {
      hintMap.put(layout.getKeyString(), hint);
      if (context != null) {
        context.getPageHintManager().addUnresolvedRowHint(layout.getKeyString(), hint);
      }
    }

    hasDropCell = layout.hasDropCell();
  }
 protected boolean isContentFinished(IContent content) {
   if (context != null) {
     return context.getPageHintManager().getLayoutHint(content);
   }
   return true;
 }