private static void InitializeDecoders(ScanState scanState, double version)
        {
            decoders.Clear();
            var type  = typeof(INode);
            var types = AppDomain.CurrentDomain.GetAssemblies()
                        .SelectMany(s => s.GetTypes())
                        .Where(p => p.IsClass && !p.IsAbstract && p.IsSubclassOf(typeof(AbstractNode)));

            foreach (var t in types)
            {
                INode n = (INode)Activator.CreateInstance(t);
                if (n.JsxbinVersion == ALL_VERSIONS || n.JsxbinVersion == version)
                {
                    decoders.Add(n.Marker, t);
                }
            }
            if (version == 1.0)
            {
                referenceDecoder = new ReferenceDecoderVersion1();
            }
            else
            {
                referenceDecoder = new ReferenceDecoderVersion2();
            }
        }
 private static void InitializeDecoders(ScanState scanState, double version)
 {
     decoders.Clear();
     var type = typeof(INode);
     var types = AppDomain.CurrentDomain.GetAssemblies()
         .SelectMany(s => s.GetTypes())
         .Where(p => p.IsClass && !p.IsAbstract && p.IsSubclassOf(typeof(AbstractNode)));
     foreach (var t in types)
     {
         INode n = (INode)Activator.CreateInstance(t);
         if (n.JsxbinVersion == ALL_VERSIONS || n.JsxbinVersion == version)
             decoders.Add(n.Marker, t);
     }
     if (version == 1.0)
         referenceDecoder = new ReferenceDecoderVersion1();
     else
         referenceDecoder = new ReferenceDecoderVersion2();                
 }