class ConfigurationServiceImpl implements ConfigurationService,
                                                 AsyncWatchServiceCallback {

    @Override
    public boolean cleanUpSystemRepository() {
        try {
            final FileSystem fileSystem = ioService.get(systemRepository.getUri()).getFileSystem();
            if (fileSystem instanceof JGitFileSystem) {
                return ((JGitFileSystem) fileSystem)
                        .getGit()
                        .resetWithSquash("Repository clean up.");
            }
        } catch (IOException e) {
            LOGGER.error("Unable to reset git repository.", e);
        }
        return false;
    }

    public  ConfigurationServiceImpl();
    @Inject public  ConfigurationServiceImpl(final @Named("system") org.guvnor.structure.repositories.Repository systemRepository,
                                    final ConfigGroupMarshaller marshaller,
                                    final User identity,
                                    final @Named("configIO") IOService ioService,
                                    final @Repository Event<SystemRepositoryChangedEvent> repoChangedEvent,
                                    final @OrgUnit Event<SystemRepositoryChangedEvent> spaceChangedEvent,
                                    final Event<SystemRepositoryChangedEvent> changedEvent,
                                    final @Named("systemFS") FileSystem fs);

}