void QgsMeshDatasetGroupTreeView::extractGroups()
{
  // TODO replace with MDAL groups when introduced
  mGroups.clear();

  if ( !mMeshLayer || !mMeshLayer->dataProvider() )
    return;

  for ( int i = 0; i < mMeshLayer->dataProvider()->datasetCount(); ++i )
  {
    const QgsMeshDatasetMetadata meta = mMeshLayer->dataProvider()->datasetMetadata( i );
    QString name = meta.extraOptions()["name"];
    if ( mGroups.constFind( name ) == mGroups.constEnd() )
    {
      QVector<int> datasets;
      datasets.append( i );
      mGroups[name] = datasets;
    }
    else
    {
      mGroups[name].append( i );
    }
  }
}