private <T extends ToolkitObject> T getNonStopProxy(
      final String name,
      final AbstractToolkitObjectLookupAsync<T> toolkitObjectLookup,
      final ToolkitObjectType objectType,
      Class clazz) {
    NonStopConfigurationLookup nonStopConfigurationLookup =
        getNonStopConfigurationLookup(name, objectType);

    nonStopInitiailzationService.initialize(
        toolkitObjectLookup, nonStopConfigurationLookup.getNonStopConfiguration());

    return ToolkitInstanceProxy.newNonStopProxy(
        nonStopConfigurationLookup, context, toolkitObjectLookup, clazz);
  }
  @Override
  public <V> ToolkitStore<String, V> getStore(
      final String name, final Configuration configuration, final Class<V> klazz) {
    NonStopConfigurationLookup nonStopConfigurationLookup =
        getNonStopConfigurationLookup(name, ToolkitObjectType.STORE);

    final AbstractToolkitObjectLookupAsync<ToolkitStore> toolkitObjectLookup =
        new AbstractToolkitObjectLookupAsync<ToolkitStore>(name, abortableOperationManager) {
          @Override
          public ToolkitStore<String, V> lookupObject() {
            return getInitializedToolkit().getStore(name, configuration, klazz);
          }
        };

    nonStopInitiailzationService.initialize(
        toolkitObjectLookup, nonStopConfigurationLookup.getNonStopConfiguration());

    return ToolkitInstanceProxy.newNonStopProxy(
        nonStopConfigurationLookup, context, toolkitObjectLookup, ToolkitStore.class);
  }