/**
  * From last to first mixingFrom entries, sets timelinesFirst to true on last, calls
  * checkTimelineUsage on rest.
  */
 private void setTimelinesFirst(TrackEntry entry) {
   if (entry.mixingFrom != null) {
     setTimelinesFirst(entry.mixingFrom);
     checkTimelinesUsage(entry);
     return;
   }
   IntSet propertyIDs = this.propertyIDs;
   int n = entry.animation.timelines.size;
   Object[] timelines = entry.animation.timelines.items;
   boolean[] usage = entry.timelinesFirst.setSize(n);
   for (int i = 0; i < n; i++) {
     propertyIDs.add(((Timeline) timelines[i]).getPropertyId());
     usage[i] = true;
   }
 }
 /** From last to first mixingFrom entries, calls checkTimelineUsage. */
 private void checkTimelinesFirst(TrackEntry entry) {
   if (entry.mixingFrom != null) checkTimelinesFirst(entry.mixingFrom);
   checkTimelinesUsage(entry);
 }