private void SynchornizeInternal()

in src/Dataset.cs [622:667]


        private void SynchornizeInternal()
#else
        private async Task SynchornizeInternalAsync(CancellationToken cancellationToken)
#endif
        {

            //make sure we have the latest identity id
            try
            {
#if BCL35
                CognitoCredentials.GetIdentityId();
#else
            await CognitoCredentials.GetIdentityIdAsync().ConfigureAwait(false);
#endif
                bool resume = true;
                List<string> mergedDatasets = LocalMergedDatasets;
                if (mergedDatasets.Count > 0)
                {
                    _logger.InfoFormat("Detected merge datasets - {0}", DatasetName);

                    if (this.OnDatasetMerged != null)
                    {
                        resume = this.OnDatasetMerged(this, mergedDatasets);
                    }
                }

                if (!resume)
                {
                    EndSynchronizeAndCleanup();
                    FireSyncFailureEvent(new OperationCanceledException(string.Format(CultureInfo.InvariantCulture, "Sync canceled on merge for dataset - {0}", this.DatasetName)));
                    return;
                }
#if BCL35
                RunSyncOperation(MAX_RETRY);
#else
                await RunSyncOperationAsync(MAX_RETRY, cancellationToken).ConfigureAwait(false);
#endif
            }
            catch (Exception e)
            {
                EndSynchronizeAndCleanup();
                FireSyncFailureEvent(e);
                _logger.Error(e, "");
            }

        }