public override int GetHashCode()
        {
            unchecked
            {
                var hashCode = (_possibleCastTargetTypes != null ? HashCodeHelper.GetHashCode(_possibleCastTargetTypes) : 0);
                hashCode = (hashCode * 397) ^ (_serializer != null ? _serializer.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (_comparator != null ? _comparator.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (TypeClass != null ? TypeClass.GetHashCode() : 0);

                return(hashCode);
            }
        }