public void Add(double beginAt, double finishAt, Animation animation)
{
if (beginAt < 0 || beginAt > 1)
throw new ArgumentOutOfRangeException ("beginAt");
if (finishAt < 0 || finishAt > 1)
throw new ArgumentOutOfRangeException ("finishAt");
if (finishAt <= beginAt)
throw new ArgumentException ("finishAt must be greater than beginAt");
animation.beginAt = beginAt;
animation.finishAt = finishAt;
children.Add (animation);
}