internal UserDefinedTypeReader RegisterType(System.Type type)
        {
            var instance    = new UserDefinedTypeImporter(type);
            var typedReader = new UserDefinedTypeReader {
                Reader = instance.Read, RealType = type
            };
            var typeId = new UserDefinedType {
                Type = type, TypeName = instance.TypeName
            };

            UserTypeReaders[typeId] = typedReader;
            return(typedReader);
        }
		internal UserDefinedTypeReader RegisterType(System.Type type)
		{
			var instance = new UserDefinedTypeImporter(type);
			var typedReader = new UserDefinedTypeReader { Reader = instance.Read, RealType = type };
			var typeId = new UserDefinedType { Type = type, TypeName = instance.TypeName };
			UserTypeReaders[typeId] = typedReader;
			return typedReader;
		}