@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);
    }
@ 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 ) ; }
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