/// <summary>
        /// ListDataSource factory method.
        /// </summary>
        public static ListDataSource <T> Create(
            params IDataSource <CloseableReference <T> >[] dataSources)
        {
            Preconditions.CheckNotNull(dataSources);
            Preconditions.CheckState(dataSources.Length > 0);
            ListDataSource <T> listDataSource = new ListDataSource <T>(dataSources);

            foreach (var dataSource in dataSources)
            {
                if (dataSource != null)
                {
                    dataSource.Subscribe(
                        new InternalDataSubscriber(listDataSource),
                        CallerThreadExecutor.Instance);
                }
            }

            return(listDataSource);
        }
 public InternalDataSubscriber(ListDataSource <T> parent)
 {
     _parent = parent;
 }