docs: private long timeOfBeat(BeatGrid beatGrid, int beatNumber, DeviceUpdate update) {
          if (beatNumber <= beatGrid.beatCount) {
              return beatGrid.getTimeWithinTrack(beatNumber);
          }
          logger.warn("Received beat number " + beatNumber + " from " + update.getDeviceName() + " " +
                  update.getDeviceNumber() + ", but beat grid only goes up to beat " + beatGrid.beatCount +
                  ". Packet: " + update);
          if (beatGrid.beatCount < 2) {
              return beatGrid.getTimeWithinTrack(1);
          }
          long lastTime = beatGrid.getTimeWithinTrack(beatGrid.beatCount);
          long lastInterval = lastTime - beatGrid.getTimeWithinTrack(beatGrid.beatCount - 1);
          return lastTime + (lastInterval * (beatNumber - beatGrid.beatCount));
      }