/// <summary>
        /// Gets the expression.
        /// </summary>
        /// <param name="entityType">Type of the entity.</param>
        /// <param name="serviceInstance">The service instance.</param>
        /// <param name="parameterExpression">The parameter expression.</param>
        /// <param name="selection">The selection.</param>
        /// <returns></returns>
        public override Expression GetExpression( Type entityType, IService serviceInstance, ParameterExpression parameterExpression, string selection )
        {
            string[] selectionValues = selection.Split( '|' );
            if ( selectionValues.Length >= 2 )
            {
                Guid tagGuid = selectionValues[1].AsGuid();
                var tagItemQry = new TaggedItemService( (RockContext)serviceInstance.Context ).Queryable()
                    .Where( x => x.Tag.Guid == tagGuid );

                var qry = new PersonService( (RockContext)serviceInstance.Context ).Queryable()
                    .Where( p => tagItemQry.Any( x => x.EntityGuid == p.Guid ) );

                return FilterExpressionExtractor.Extract<Rock.Model.Person>( qry, parameterExpression, "p" );
            }

            return null;
        }