Esempio n. 1
0
        public static IVault ImportFrom(this IVault target, IVault source, CollisionHandling collisionHandling)
        {
            var cloneOfRoot = source.Root.Clone();

            target.Root.SetEntireMetadata(cloneOfRoot.Metadata);
            cloneOfRoot.GetBranches().ForEach(b => target.ImportBranch(b, collisionHandling));
            ((Branch)cloneOfRoot).GetValues(ValueKind.Regular).ForEach(v => target.ImportValue(v, collisionHandling != CollisionHandling.Error));
            ((Branch)cloneOfRoot).GetValues(ValueKind.Internal).ForEach(v => target.ImportValue(v, true));
            return(target);
        }