class GitWorkflowRepository extends FileBasedWorkflowRepository implements WorkflowRepository, FileBasedWorkflowRepositoryMXBean {

    @Override
    public synchronized void start() {
        logger.info("Starting git workflow repository.");
        if (gitObserverStopped != null)
            throw new IllegalStateException("Git workflow repository can only be startet once.");
        try {
            updateLocalGitRepositories();
        } catch (Exception e) {
            throw new GitWorkflowRepositoryException("Exception while initial update of it workflow repository.", e);
        }
        this.gitObserverStopped = new AtomicBoolean(false);
        observerThread = new GitWorkflowRepository.ObserverThread(this);
        observerThread.start();
        super.start();
    }

}