public static GetChangesParameter FromPayload(JObject payload, SyncEngine syncEngine) { string synchronizationId = payload[nameof(SynchronizationId)].Value <string>(); Dictionary <string, object> customInfo = payload[nameof(CustomInfo)].ToObject <Dictionary <string, object> >(); PayloadAction payloadAction = (PayloadAction)Enum.Parse(typeof(PayloadAction), payload[nameof(PayloadAction)].Value <string>()); GetChangesParameter parameter = new GetChangesParameter(payloadAction, synchronizationId, customInfo); parameter.LastSync = payload[nameof(LastSync)].Value <long>(); parameter.AppliedIds = PayloadHelper.GetAppliedIdsFromPayload(payload[nameof(PayloadAppliedIds)].ToObject <Dictionary <string, List <object> > >(), syncEngine, synchronizationId, customInfo); return(parameter); }