code: @Override
      public Model read(Configuration config) {
          String name = config.getName();
          Descriptor desc = getDescriptor();
          if (MANIFEST.equals(name)) {
              return new V2ManifestModel(config, desc);
          } else if (REMOTE_JMS.equals(name)) {
              return new V2RemoteJmsModel(config, desc);
          } else if (REMOTE_REST.equals(name)) {
              return new V2RemoteRestModel(config, desc);
          } else if (EXTRA_JAXB_CLASSES.equals(name)) {
              return new V2ExtraJaxbClassesModel(config, desc);
          } else if (EXTRA_JAXB_CLASS.equals(name)) {
              return new V2ExtraJaxbClassModel(config, desc);
          } else if (INPUT.equals(name)) {
              return new V2InputModel(config, desc);
          } else if (PROPERTIES.equals(name)) {
              return new V2PropertiesModel(config, desc);
          }
          return super.read(config);
      }
docs: Reads in the Configuration, looking for various knowledge models.
  If not found, it falls back to the super class (V1KnowledgeMarshaller).
  
  @param config the Configuration
  @return the Model