/// <summary>
        /// Convert forward function.
        /// </summary>
        /// <param name="value">The source value.</param>
        /// <param name="targetType">The target type.</param>
        /// <param name="parameter">The parameter.</param>
        /// <param name="culture">The culture info.</param>
        /// <returns>The converted value.</returns>
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            bool negated = false;

            if (parameter != null)
            {
                if (!bool.TryParse(parameter.ToString(), out negated))
                {
                    negated = false;
                }
            }

            if (value == null)
            {
                return(negated ? Visibility.Visible : Visibility.Collapsed);
            }

            IEnumerable list = value as IEnumerable;

            if (!(list is string) && list != null && IEnumerableHelper.GetItemCount(list) > 0)
            {
                return(negated ? Visibility.Collapsed : Visibility.Visible);
            }

            if (value != null && !string.IsNullOrEmpty(value.ToString()))
            {
                return(negated ? Visibility.Collapsed : Visibility.Visible);
            }

            return(negated ? Visibility.Visible : Visibility.Collapsed);
        }