public static SyncBlockSettings Load(IMyEntity entity, Guid guid, NanobotBuildAndRepairSystemPriorityHandling buildPriority)
        {
            var               storage = entity.Storage;
            string            data;
            SyncBlockSettings settings = null;

            if (storage != null && storage.TryGetValue(guid, out data))
            {
                try
                {
                    settings = MyAPIGateway.Utilities.SerializeFromXML <SyncBlockSettings>(data);
                    if (settings != null)
                    {
                        settings.RecalcAreaBoundigBox();
                        buildPriority.SetEntries(settings.BuildPriority);
                        settings.Changed = 0;
                        return(settings);
                    }
                }
                catch { }
            }

            settings = new SyncBlockSettings();
            var control = entity as IMyTerminalBlock;
            var system  = control != null?control.GameLogic.GetAs <NanobotBuildAndRepairSystemBlock>() : null;

            var maxValue = system != null ? system.WelderMaximumRange : NanobotBuildAndRepairSystemMod.Settings.Range;

            settings.AreaWidthLeft    = maxValue;
            settings.AreaWidthRight   = maxValue;
            settings.AreaHeightTop    = maxValue;
            settings.AreaHeightBottom = maxValue;
            settings.AreaDepthFront   = maxValue;
            settings.AreaDepthRear    = maxValue;
            buildPriority.SetEntries(settings.BuildPriority);
            settings.Changed = 0;
            return(settings);
        }