class PreferenceScopeFactoryImpl implements PreferenceScopeFactory {

    @Override
    public PreferenceScope cloneScope(final PreferenceScope scope) {
        if (scope == null) {
            return null;
        }

        return new PreferenceScopeImpl(scope.type(),
                                       scope.key(),
                                       cloneScope(scope.childScope()));
    }

    protected  PreferenceScopeFactoryImpl();
    @Inject public  PreferenceScopeFactoryImpl(@Customizable final PreferenceScopeTypes scopeTypes);

}