private void TryLoadPersistedFormData(string filename)
        {
            string guidString = Path.GetFileNameWithoutExtension(filename);

            Guid id;

            if (!Guid.TryParse(guidString ?? "", out id))
            {
                return;
            }

            try
            {
                var doc      = XDocumentUtils.Load(filename);
                var formData = FormData.Deserialize(doc.Root);

                if (!_resourceLocker.Resources.FormData.ContainsKey(id))
                {
                    _resourceLocker.Resources.FormData.TryAdd(id, formData);

                    FormsWorkflowBindingCache.Bindings.TryAdd(id, formData.Bindings);
                }
            }
            catch (DataSerilizationException ex)
            {
                Log.LogWarning(LogTitle, $"The workflow {id} contained one or more bindings where data was deleted or data type changed");
                Log.LogWarning(LogTitle, ex);

                //AbortWorkflow(id);
            }
            catch (Exception ex)
            {
                Log.LogCritical(LogTitle, $"Could not deserialize form data for the workflow {id}");
                Log.LogCritical(LogTitle, ex);
                AbortWorkflow(id);
            }
        }