code: private Future<M> sync() {
          logger.debug("Synchronization of Remote[" + this + "] triggered...");
          try {
              validateInitialization();
              try {
                  SyncTaskCallable syncCallable = new SyncTaskCallable();
  
                  final Future<M> currentSyncTask = GlobalCachedExecutorService.submit(syncCallable);
                  syncCallable.setRelatedFuture(currentSyncTask);
                  return currentSyncTask;
              } catch (java.util.concurrent.RejectedExecutionException | NullPointerException ex) {
                  throw new CouldNotPerformException("Could not request the current status.", ex);
              }
          } catch (CouldNotPerformException ex) {
              return FutureProcessor.canceledFuture(ex);
          }
      }
docs: Method forces a server - remote data sync and returns the new acquired
  data. Can be useful for initial data sync or data sync after
  reconnection.
  
  @return fresh synchronized data object.