public sealed override T Evaluate(EvalContext context)
 {
     if (Value1 != null && Value2 != null && Weight != null)
     {
         return(Interpolate(Value1.Evaluate(context),
                            Value2.Evaluate(context),
                            easingCurve.Ease(Weight.Evaluate(context))));
     }
     else
     {
         return(default(T));
     }
 }