Criar queue só com valores pares. JAVA

Então tenho uma queue na main que chama se q, depois no método valoresPares quero criar uma queue nova q1, que só tem os valores pares de q, mas quando crio neste exemplo imprime [2,4,null,null], não sei porque. Eu quero que neste exemplo fique [2,4]

public static void main(String[] args) {
  Queue<Integer> q = new ArrayQueue<>();
  q.enqueue(1);
  q.enqueue(2);
  q.enqueue(3);
  q.enqueue(4);
  Queue<Integer> q1 = valoresPares(q);
  System.out.println(q1);
}

public static Queue<Integer> valoresPares(Queue<Integer> q) {
	Queue<Integer> q1 = new ArrayQueue<Integer>();
		
	while(!q.isEmpty()) {
		if(q.front() % 2 == 0) {
			q1.enqueue(q.front());
		}
		q.dequeue();
	}
	return q1;
}