/// <summary>
        /// Determines whether the specified entity is eligible.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns>
        /// 	<c>true</c> if the specified entity is eligible; otherwise, <c>false</c>.
        /// </returns>
        public override bool IsEligible( Entity entity )
        {
            if ( States == null || States.Count == 0 )
                return false;

            if ( entity == null )
                return false;

            EntityAddress ea = entity.GetDefaultAddress();

            if ( ea == null )
                return AllowBlankStates;

            return string.IsNullOrEmpty( ea.State ) ? AllowBlankStates : States.Contains( ea.State );
        }
 /// <summary>
 /// Determines whether the specified entity is eligible.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <returns>
 ///   <c>true</c> if the specified entity is eligible; otherwise, <c>false</c>.
 /// </returns>
 public override bool IsEligible( Entity entity )
 {
     return true;
 }
 /// <summary>
 /// Determines whether the specified entity is eligible.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <returns>
 ///   <c>true</c> if the specified entity is eligible; otherwise, <c>false</c>.
 /// </returns>
 public override bool IsEligible( Entity entity )
 {
     return entity != null ;
 }
 /// <summary>
 /// Determines whether the specified entity is eligible.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <returns>
 ///   <c>true</c> if the specified entity is eligible; otherwise, <c>false</c>.
 /// </returns>
 public abstract bool IsEligible( Entity entity );