public void sync ( ) { if ( getDataSelectionQueries ( ) . length == 0 ) { throw new IllegalStateException ( "Cannot sync with empty data selection queries" ) ; } synchronized ( this ) { if ( syncing ) return ; syncing = true ; } getClient ( ) . localBuildExecutorService . submit ( new Runnable ( ) { @ Override public void run ( ) { _sync ( ) ; } } ) ; }
Launch a sync . If a sync is already running this call is ignored . Otherwise the sync is enqueued and runs in the background .