code: public void trackLoading(boolean lastBatch, Throwable exception) {
          if (lastBatch) {
              state.nextOrStay(State.LOADED);
              if (exception != null) {
                  keyLoadFinished.setResult(exception);
              } else {
                  keyLoadFinished.setResult(true);
              }
          } else if (state.is(State.LOADED)) {
              state.next(State.LOADING);
          }
      }
docs: Advances the state of this map key loader and sets the {@link #keyLoadFinished}
  result if the {@code lastBatch} is {@code true}.
  <p>
  If there was an exception during key loading, you may pass it as the
  {@code exception} paramter and it will be set as the result of the future.
  
  @param lastBatch if the last key batch was sent
  @param exception an exception that occurred during key loading