code: public static synchronized <BackendType extends Backend> BackendType init(Config<BackendType> config) {
  //        if(initialized) throw new RuntimeException("Backend already initialized!");
          logger.debug("Initializing... " + config);
          Guice.createInjector(config.getModule());
  
          return injector.getInstance(config.getModuleType());
      }
docs: Initialization point for divide. Returns an instance of the Divide object. Only one instance may exist at a time.
  @param config Configuration information for Divide. @see Config
  @param <BackendType> Specific type of Backend to return, for extentions on the Backend class.
  @return