class QueueDatabase extends Database<QueueTask> {

  private final Queue<QueueTask> data;
  public List<Exception> exceptionsList;

  public QueueDatabase(Exception... exc) {
    this.data = new Queue<>();
    this.exceptionsList = new ArrayList<>(List.of(exc));
  }

  @Override
  public QueueTask add(QueueTask t) {<FILL_FUNCTION_BODY>}

  /**
   * peek method returns object at front without removing it from queue.
   *
   * @return object at front of queue
   * @throws IsEmptyException             if queue is empty
   */

  public QueueTask peek() throws IsEmptyException {
    return this.data.peek();
  }

  /**
   * dequeue method removes the object at front and returns it.
   *
   * @return object at front of queue
   * @throws IsEmptyException             if queue is empty
   */

  public QueueTask dequeue() throws IsEmptyException {
    return this.data.dequeue();
  }

  @Override
  public QueueTask get(String taskId) {
    return null;
  }

}

    data.enqueue(t);
    return t;
    //even if same thing queued twice, it is taken care of in other dbs
  
<methods>public non-sealed void <init>() ,public abstract com.iluwatar.commander.queue.QueueTask add(com.iluwatar.commander.queue.QueueTask) throws com.iluwatar.commander.exceptions.DatabaseUnavailableException,public abstract com.iluwatar.commander.queue.QueueTask get(java.lang.String) throws com.iluwatar.commander.exceptions.DatabaseUnavailableException<variables>