PreferenceBeanStoreClientImpl implements PreferenceBeanStore { @Override public <U extends BasePreference<U>, T extends BasePreferencePortable<U>> void load(final T emptyPortablePreference, final ParameterizedCommand<T> successCallback, final ParameterizedCommand<Throwable> errorCallback) { successCallback.execute((T) emptyPortablePreference.defaultValue((U) emptyPortablePreference)); }  @Override void load(final T emptyPortablePreference,
                                                                                        final ParameterizedCommand<T> successCallback,
                                                                                        final ParameterizedCommand<Throwable> errorCallback); @Override void load(final T emptyPortablePreference,
                                                                                        final PreferenceScopeResolutionStrategyInfo scopeResolutionStrategyInfo,
                                                                                        final ParameterizedCommand<T> successCallback,
                                                                                        final ParameterizedCommand<Throwable> errorCallback); @Override void save(final T portablePreference,
                                                                                        final Command successCallback,
                                                                                        final ParameterizedCommand<Throwable> errorCallback); @Override void save(final T portablePreference,
                                                                                        final PreferenceScopeResolutionStrategyInfo scopeResolutionStrategyInfo,
                                                                                        final Command successCallback,
                                                                                        final ParameterizedCommand<Throwable> errorCallback); @Override void save(T portablePreference,
                                                                                        PreferenceScope scope,
                                                                                        Command successCallback,
                                                                                        ParameterizedCommand<Throwable> errorCallback); @Override void save(final Collection<BasePreferencePortable<? extends BasePreference<?>>> portablePreferences,
                     final Command successCallback,
                     final ParameterizedCommand<Throwable> errorCallback); @Override void save(final Collection<BasePreferencePortable<? extends BasePreference<?>>> portablePreferences,
                     final PreferenceScopeResolutionStrategyInfo scopeResolutionStrategyInfo,
                     final Command successCallback,
                     final ParameterizedCommand<Throwable> errorCallback); @Override void save(Collection<BasePreferencePortable<? extends BasePreference<?>>> portablePreferences,
                     PreferenceScope scope,
                     Command successCallback,
                     ParameterizedCommand<Throwable> errorCallback);  }
@Test public void testLoad() { MyPreferencePortable preference = new MyPreferencePortable(); preferenceBeanStoreClient.load(preference, p -> { }, p -> { }); assertEquals("foo", preference.value); }
@Test public void testLoadWithPreferenceScopeResolutionStrategyInfo() { MyPreferencePortable preference = new MyPreferencePortable(); preferenceBeanStoreClient.load(preference, null, p -> { }, p -> { }); assertEquals("foo", preference.value); }