public static object ExpandDelayedCall(object value) { while (value is DelayedCall) value = ((DelayedCall)value).Evaluate(); return value; }