internal override bool TryGetValue(ActivityContext context, out Location <T> value) { try { context.AllowChainedEnvironmentAccess = true; value = context.GetLocation <T>(this.Variable); } finally { context.AllowChainedEnvironmentAccess = false; } return(true); }