docs: public synchronized T get(int maxAssigned) throws InterruptedException {
          while (this.queueItems.isEmpty() || this.assignedJobs.size() >= maxAssigned) {
              this.wait(200);
              if (this.isInterrupted) {
                  this.isInterrupted = false;
                  return null;
              }
          }
  
          if (this.scheduleNeeded) {
              this.scheduleNeeded = false;
              schedule(displayModel.getTileSize());
          }
  
          T job = this.queueItems.remove(0).object;
          this.assignedJobs.add(job);
          return job;
      }