protected override List <MemberInfo> GetSerializableMembers(Type type)
        {
            if (TypeCacheUtils.IsAnStructType(type) ||
                (type == typeof(CurrentState)) ||
                (type == typeof(ViewsState)) ||
                (type == typeof(ClientCommand)))
            {
                return(base.GetSerializableMembers(type));
            }

            List <MemberInfo> props = new List <MemberInfo>();

            foreach (var propEx in TypePropertiesCache.GetArrayPropertiesOrderedByIndex(type))

            {
                if (propEx != null && !propEx.IsExcludedPropertyForSerialization(serverSide, skipUniqueId, skipObjectProperties))
                {
                    props.Add(propEx.prop);
                }
            }
            return(props);
        }