/// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="proj">Source projection.</param>
 /// <param name="item">New item.</param>
 private ClientClusterGroupProjection(ClientClusterGroupProjection proj, IProjectionItem item)
 {
     _filter = new List <IProjectionItem>(proj._filter)
     {
         item
     };
 }
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="ignite">Ignite.</param>
        /// <param name="projection">Projection.</param>
        /// <param name="predicate">Predicate.</param>
        private ClientClusterGroup(IgniteClient ignite,
                                   ClientClusterGroupProjection projection, Func <IClientClusterNode, bool> predicate = null)
        {
            Debug.Assert(ignite != null);

            _ignite     = ignite;
            _projection = projection;
            _predicate  = predicate;
        }