docs: private void repaintDueToPlaybackStateChange(PlaybackState oldState, PlaybackState newState, PlaybackState oldFurthestState) {
          if (autoScroll.get()) {
              // See if we need to repaint the whole component because our center point has shifted
              long oldFurthest = 0;
              if (oldFurthestState != null) {
                  oldFurthest = oldFurthestState.position;
              }
              long newFurthest = 0;
              PlaybackState newFurthestState = getFurthestPlaybackState();
              if (newFurthestState != null) {
                  newFurthest = newFurthestState.position;
              }
              if (oldFurthest != newFurthest) {
                  repaint();
                  return;
              }
          }
          // Refresh where the specific marker was moved from and/or to.
          if (oldState != null) {
              final int left = millisecondsToX(oldState.position) - 6;
              final int right = millisecondsToX(oldState.position) + 6;
              repaint(left, 0, right - left, getHeight());
          }
          if (newState != null) {
              final int left = millisecondsToX(newState.position) - 6;
              final int right = millisecondsToX(newState.position) + 6;
              repaint(left, 0, right - left, getHeight());
          }
      }