Erro na escrita da solução do problema 2085 do Huxley

Estou tendo problemas na escrita da saída deste programa e não estou conseguindo identificar onde é. A entrada é a seguinte:

1
a
0 60
a
1 76
a
2 25
a
3 20
a
4 35
a
5 76
a
6 53
a
7 36
i
r
i
a
8 43
i
r
i
f

Saída

fila de idosos:
ID: 1 IDADE: 76
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 0 IDADE: 60
ID: 2 IDADE: 25
ID: 3 IDADE: 20
ID: 4 IDADE: 35
ID: 6 IDADE: 53
ID: 7 IDADE: 36

fila de idosos:
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 0 IDADE: 60
ID: 2 IDADE: 25
ID: 3 IDADE: 20
ID: 4 IDADE: 35
ID: 6 IDADE: 53
ID: 7 IDADE: 36

fila de idosos:
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 0 IDADE: 60
ID: 2 IDADE: 25
ID: 3 IDADE: 20
ID: 4 IDADE: 35
ID: 6 IDADE: 53
ID: 7 IDADE: 36
ID: 8 IDADE: 43

fila de idosos:
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 2 IDADE: 25
ID: 3 IDADE: 20
ID: 4 IDADE: 35
ID: 6 IDADE: 53
ID: 7 IDADE: 36
ID: 8 IDADE: 43

A minha saída está apresentando o seguinte resultado:
fila de idosos:
ID: 1 IDADE: 76
ID: 1 IDADE: 76
ID: 5 IDADE: 76
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 2 IDADE: 25
ID: 0 IDADE: 60
ID: 0 IDADE: 60
ID: 2 IDADE: 25
ID: 0 IDADE: 0

fila de idosos:
ID: 1 IDADE: 76
ID: 1 IDADE: 76
ID: 5 IDADE: 76
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 0 IDADE: 60
ID: 0 IDADE: 60
ID: 2 IDADE: 25

fila de idosos:
ID: 1 IDADE: 76
ID: 1 IDADE: 76
ID: 5 IDADE: 76
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 7 IDADE: 36
ID: 0 IDADE: 60
ID: 2 IDADE: 25
ID: 0 IDADE: 0

fila de idosos:
ID: 1 IDADE: 76
ID: 1 IDADE: 76
ID: 5 IDADE: 76
ID: 5 IDADE: 76
fila de nao-idosos:
ID: 0 IDADE: 60
ID: 2 IDADE: 25

import java.util.Arrays;
import java.util.Scanner;

public class HuxleyCode {

private int capacity;
int queueArr[];
int front;
int rear;
int currentSize = 0;

public HuxleyCode(int sizeOfQueue) {
	this.capacity = sizeOfQueue;
	front = 0;
	rear = -1;
	queueArr = new int[this.capacity];
}

/**
 * this method is used to add element in the queue
 * 
 * @param data
 */
public void enqueue(int data) {
	if (isFull()) {
		queueArr = Arrays.copyOf(queueArr, 2 * queueArr.length);
	} else {
		rear++;
		if (rear == capacity - 1) {
			rear = 0;
		}
		queueArr[rear] = data;
		currentSize++;
	}
}

/**
 * This method removes an element from the front of the queue
 */
public void dequeue() {
	if (isEmpty()) {
		System.out.println("Queue is empty!! Can not dequeue element");
	} else {
		front++;
		if (front == capacity - 1) {
			// System.out.println(queueArr[front - 1] + " removed from the queue");
			front = 0;
		} else {
			// System.out.println(queueArr[front - 1] + " removed from the queue");
		}
		currentSize--;
	}
}

/**
 * This method is use to check if element is full or not
 * 
 * @return boolean
 */
public boolean isFull() {
	if (currentSize == capacity) {
		return true;
	}
	return false;
}

/**
 * This method is use to check if element is empty or not
 * 
 * @return
 */
public boolean isEmpty() {

	if (currentSize == 0) {
		return true;
	}
	return false;
}

public static void main(String a[]) {
	int id = 0;
	int idade = 0;

	String comando = "";
	Scanner input = new Scanner(System.in);
	String rowValues = null;

	HuxleyCode idosos = new HuxleyCode(5);
	HuxleyCode idIdosos = new HuxleyCode(5);
	HuxleyCode naoIdosos = new HuxleyCode(5);
	HuxleyCode idNaoIdosos = new HuxleyCode(5);

	while (!comando.equalsIgnoreCase("f")) {
		rowValues = input.nextLine();
		String[] elementArray = rowValues.split(" ");

		if (elementArray.length == 1) {
			comando = elementArray[0];
		}

		if (elementArray.length > 1) {
			id = Integer.parseInt(elementArray[0]);
			idade = Integer.parseInt(elementArray[1]);
		}

		if (idade > 60) {
			if (comando.equalsIgnoreCase("a") == true) {
				idIdosos.enqueue(id);
				idosos.enqueue(idade);
			}

			if (comando.equalsIgnoreCase("r") == true) {
				idosos.dequeue();
				idosos.dequeue();
			}
		}

		if (idade <= 60) {
			if (comando.equalsIgnoreCase("a") == true) {
				naoIdosos.enqueue(idade);
				idNaoIdosos.enqueue(id);
			}

			if (comando.equalsIgnoreCase("r") == true) {
				naoIdosos.dequeue();
				idNaoIdosos.dequeue();
			}
		}

		if (comando.equalsIgnoreCase("i") == true) {
			System.out.println("fila de idosos:");
			for (int i = idosos.front; i < idosos.currentSize; i++) {
				if (idosos.isEmpty() == false) {
					System.out.print("ID: " + idIdosos.queueArr[i] + " ");
					System.out.print("IDADE: " + idosos.queueArr[i] + "\n");
				} else {
					System.out.print("fila vazia!\n");
				}

			}
			System.out.println("fila de nao-idosos:");
			for (int i = naoIdosos.front; i < naoIdosos.currentSize; i++) {
				if (idosos.isEmpty() == false) {
					System.out.print("ID: " + idNaoIdosos.queueArr[i] + " ");
					System.out.print("IDADE: " + naoIdosos.queueArr[i] + "\n");
				} else {
					System.out.print("fila vazia!\n");
				}
			}
			System.out.println("----------");
			System.out.println();
		}

	}
	input.close();
}

}