@SuppressWarnings("unchecked")
    public S createApplication(T applicationModule, Module... applicationSpecificModules) {
        //        Module applicationModule = activator.getApplicationSpecificModule(appId);
        Module[] modules = new Module[applicationSpecificModules != null ? applicationSpecificModules.length + 1 : 1];
        modules[0] = applicationModule;
        if (applicationSpecificModules != null) {
            for (int i = 0; i < applicationSpecificModules.length; i++) {
                modules[i + 1] = applicationSpecificModules[i];
            }
        }

        return (S) createChildInjector(modules).getInstance(IApplication.class);
    }
@ SuppressWarnings ( "unchecked" ) public S createApplication ( T applicationModule , Module ... applicationSpecificModules ) { Module [ ] modules = new Module [ applicationSpecificModules != null ? applicationSpecificModules . length + 1 : 1 ] ; modules [ 0 ] = applicationModule ; if ( applicationSpecificModules != null ) { for ( int i = 0 ; i < applicationSpecificModules . length ; i ++ ) { modules [ i + 1 ] = applicationSpecificModules [ i ] ; } } return ( S ) createChildInjector ( modules ) . getInstance ( IApplication . class ) ; }
@param applicationModule the mandatory application properties binded via this module
@param applicationSpecificModules modules allowing to further configure the application specific injector used for the creation of the application
@return a new instance of {@literal <S extends IApplication>}