private void animationsChanged() {
    animationsChanged = false;

    IntSet propertyIDs = this.propertyIDs;

    // Set timelinesFirst for all entries, from lowest track to highest.
    int i = 0, n = tracks.size;
    propertyIDs.clear();
    for (; i < n; i++) { // Find first non-null entry.
      TrackEntry entry = tracks.get(i);
      if (entry == null) continue;
      setTimelinesFirst(entry);
      i++;
      break;
    }
    for (; i < n; i++) { // Rest of entries.
      TrackEntry entry = tracks.get(i);
      if (entry != null) checkTimelinesFirst(entry);
    }
  }