public async Task Populate(CarbonClient cc_, OrderOverrides orderOv_)
    {
      if (m_source == null) return;
      var dict = new Dictionary<string, LiveExposurePnlMulti>();

      foreach (var item in m_source.InnerList)
      {
        var subItem = item.PnlName.Contains("#") ? item.PnlName.Split('#')[0] : item.PnlName;

        if (!dict.ContainsKey(subItem))
        {
          var newItem = new LiveExposurePnlMulti(subItem) {DisplaySortNumber = await AssetOrder.GetOrder(subItem, cc_)};

          if (orderOv_ != null && orderOv_.HasOverrides)
          {
            newItem.DisplaySortNumber = orderOv_.GetSortOrder(Helper.StripBbgEndings(item.PnlName));
          }

          dict.Add(subItem, newItem);
        }

        dict[subItem].Add(item);
      }

      var items = new List<LiveExposurePnlMulti>(dict.Values);

      m_items.AddRange(items.OrderBy(x => x.DisplaySortNumber));

      for (int i = 0; i < m_items.Count; ++i)
        m_items[i].Index = i;
    }
 internal void Create(OrderOverrides oo_)
 {
   if (m_overrides != null) return;
   m_overrides = oo_;
   Create();
 }