public override void DoWork(Action <string, double> ReportProgress, Action Done)
        {
            try
            {
                var acc = Speckle.Core.Credentials.AccountManager.GetDefaultAccount();

                Tracker.TrackPageview(Tracker.RECEIVE_LOCAL);
                Parent.Message = "Receiving...";
                var Converter = (Parent as ReceiveLocalComponent).Converter;

                Base @base = null;

                try
                {
                    @base = Operations.Receive(localDataId, disposeTransports: true).Result;
                }
                catch (Exception e)
                {
                    RuntimeMessages.Add((GH_RuntimeMessageLevel.Warning, "Failed to receive local data."));
                    Done();
                    return;
                }

                data = Utilities.ConvertToTree(Converter, @base);
            }
            catch (Exception e)
            {
                // If we reach this, something happened that we weren't expecting...
                Log.CaptureException(e);
                RuntimeMessages.Add((GH_RuntimeMessageLevel.Error, "Something went terribly wrong... " + e.Message));
                Parent.Message = "Error";
            }
            Done();
        }