// Determines if a type is a primitive type, if it is it is written
        private bool WriteKnownValueClass(NameInfo memberNameInfo, NameInfo typeNameInfo, object data)
        {
            if (ReferenceEquals(typeNameInfo._type, Converter.s_typeofString))
            {
                WriteString(memberNameInfo, typeNameInfo, data);
            }
            else
            {
                if (typeNameInfo._primitiveTypeEnum == InternalPrimitiveTypeE.Invalid)
                {
                    return(false);
                }
                else
                {
                    if (typeNameInfo._isArray) // null if an array
                    {
                        _serWriter.WriteItem(memberNameInfo, typeNameInfo, data);
                    }
                    else
                    {
                        _serWriter.WriteMember(memberNameInfo, typeNameInfo, data);
                    }
                }
            }

            return(true);
        }