/// <summary>
 /// Constructor
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="keyList"></param>
 public LazyPartitionedKeysetEnumerator(PartitionedCacheBase cache,
                                        object[] keyList,
                                        Address address,
                                        bool isLocalEnumerator)
     : base(cache, keyList, false)
 {
     _address           = address;
     _isLocalEnumerator = isLocalEnumerator;
 }
            /// <summary>
            /// Does the lazy loading of object. This method is virtual so containers can
            /// customize object fetching logic.
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            protected override object FetchObject(object key, OperationContext operationContext)
            {
                PartitionedCacheBase cache = _cache as PartitionedCacheBase;

                return(cache.Clustered_Get(_targetNode, key, operationContext));
            }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="keyList"></param>
 public ClusteredEnumerator(PartitionedCacheBase cache, Address address, object[] keyList)
     : base(cache, keyList, true)
 {
     _targetNode = address;
 }
 /// <summary>
 /// Constructor 
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="keyList"></param>
 public ClusteredEnumerator(PartitionedCacheBase cache, Address address, object[] keyList)
     : base(cache, keyList, true)
 {
     _targetNode = address;
 }
 /// <summary>
 /// Constructor 
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="keyList"></param>
 public LazyPartitionedKeysetEnumerator(PartitionedCacheBase cache,
     object[] keyList,
     Address address,
     bool isLocalEnumerator)
     : base(cache, keyList, false)
 {
     _address = address;
     _isLocalEnumerator = isLocalEnumerator;
 }