/**
   * @param dataSetName
   * @return
   * @throws BirtException
   */
  private IResultMetaData getRealMetaData(DataSetHandle dataSetHandle) throws BirtException {
    IResultMetaData metaData = MetaDataPopulator.retrieveResultMetaData(dataSetHandle);

    if (metaData == null) metaData = getRuntimeMetaData(dataSetHandle);

    if (metaData != null && !(dataSetHandle instanceof ScriptDataSetHandle))
      clearUnusedData(dataSetHandle, metaData);
    return metaData;
  }