public static void ActivateInstance(Document InDocument)
        {
            // Disable existing instance, if there's active one.
            ActiveInstance?.MakeActive(false);
            ActiveInstance = null;

            // Find out if we already have instance for this document and
            // activate it if we do. Otherwise, create new one.

            FDirectLink InstanceToActivate = null;

            foreach (FDirectLink DL in Instances)
            {
                if (DL.RootCache.SourceDocument.Equals(InDocument))
                {
                    InstanceToActivate = DL;
                    break;
                }
            }

            if (InstanceToActivate == null)
            {
                InstanceToActivate = new FDirectLink(InDocument);
                Instances.Add(InstanceToActivate);
            }

            InstanceToActivate.MakeActive(true);
            ActiveInstance = InstanceToActivate;
        }