private List getResultSetColumnHandles(CachedMetaDataHandle cmdh) {

    List list = new ArrayList();
    for (Iterator iter = cmdh.getResultSet().iterator(); iter.hasNext(); ) {
      list.add(iter.next());
    }
    return list;
  }
  /**
   * @param cmdHandle
   * @return
   * @throws BirtException
   */
  private IResultMetaData getCachedMetaData(CachedMetaDataHandle cmdHandle) throws BirtException {
    if (cmdHandle == null) return null;

    Iterator it = cmdHandle.getResultSet().iterator();
    List columnMeta = new ArrayList();
    while (it.hasNext()) {
      ResultSetColumnHandle rsColumn = (ResultSetColumnHandle) it.next();
      IColumnDefinition cd = this.modelAdaptor.ColumnAdaptor(rsColumn);
      columnMeta.add(cd);
    }
    return new ResultMetaData(columnMeta);
  }