public void syncAllAsynchronously(){
  if (!isSyncing.compareAndSet(false,true)) {
    throw new SyncException("Couldn't start synchronization as it is executing right now");
  }
  scheduler.execute(null);
}

public void syncAllAsynchronously ( ) { if ( ! isSyncing . compareAndSet ( false , true ) ) { throw new SyncException ( "Couldn't start synchronization as it is executing right now" ) ; } scheduler . execute ( null ) ; }
performs asynchronous synchronization only if is it is not executing right now .
