AjTalk.Machine.GetOrCreateChildEnvironment C# (CSharp) Method

GetOrCreateChildEnvironment() private method

private GetOrCreateChildEnvironment ( Context environment, string envname ) : Context
environment Context
envname string
return Context
        private Context GetOrCreateChildEnvironment(Context environment, string envname)
        {
            var names = envname.Split('.');

            foreach (var name in names)
            {
                var result = environment.GetValue(name);

                if (result != null)
                    environment = (Context)result;
                else
                {
                    var context = new Context(environment);
                    environment.SetValue(name, context);
                    environment = context;
                }
            }

            return environment;
        }