/*
   * Получить данные списка
   */
  @SuppressWarnings("unchecked")
  private void fillData() throws SQLException {
    mData = mDao.select(mCurrentParent, null, mSelectFilter, mSelectOrder);

    if (mFilter != null) {
      mFilter.setUnfilteredData((List<IPresentation>) (List<?>) mData);
    }
    notifyDataSetChanged();
  }
  private void init(
      Context context,
      CatalogDao<T> dao,
      T parent,
      HashMap<String, Object> filter,
      String order,
      int resource,
      MetaAdapterViewBinder viewBinder)
      throws SQLException {

    mDao = dao;

    if (parent == null) {
      mCurrentParent = mRoot = dao.emptyRef();
    } else {
      mCurrentParent = mRoot = parent;
    }

    mStackParent = new Stack<T>();
    mSelectFilter = filter;
    mSelectOrder = order;

    if (resource == 0) {
      mResource = android.R.layout.simple_list_item_1;
      mDropDownResource = android.R.layout.simple_spinner_dropdown_item;
    } else {
      mResource = mDropDownResource = resource;
    }

    if (viewBinder == null) {
      mAdapterViewBinder =
          createMetaAdapterViewBinder(context, dao.getDataClass(), android.R.id.text1);
    } else {
      mAdapterViewBinder = viewBinder;
    }
    fillData();
  }