code: public int add(Callable task) {
          int index = findEmptySpot();
          callableCounter++;
          ringItems[index] = task;
          isTask[index] = true;
          sequences[index] = head;
          return head;
      }
docs: Adds the task to next available spot and returns the sequence corresponding to that spot.
  throws exception if there is no available spot
  
  @param task The task
  @return the sequence
  @throws RejectedExecutionException if there is not available spot for the task