Por que um simples método de uma lista simplesmente encadeada (fila) não funciona?

Olá pessoal!

Não sou um participante ativo do fórum mas sempre passo por aqui pra ver o que o pessoal anda escrevendo.
Mas deixando o lero-lero de lado, vou expôr um problema que está me atormentando há dias e não consigo achar uma solução.

Tenho o seguinte código:

        Queue filaAtendimento = new Queue();
        filaAtendimento.enqueue(new Cliente(1));
        
        for (int i = 1; i <= tempoSimulacao; i++)
        {
            if (!filaAtendimento.isEmpty())
            {

É fácil, não precisa depurar para ver que, quando o if(!filaAtendimento.isEmpty()) for chamado pela primeira vez, o bloco de código dentro deste if será executado. Foi chamado filaAtendimento.enqueue(new Cliente(1)) e por isso a fila não está vazia.

Mas o problema é que aqui o bloco de código dentro do if nunca é excutado, ou seja, o objeto criado com new Cliente(1) é como se não existisse. Naturalmente a primeira pergunta a ser feita é: mas o método enqueue está funcionando corretamente? Está! Veja o que ele faz:

    public void enqueue(Cliente insertItem)

    {

        if (isEmpty()) // firstNode and lastNode refer to same Object

        {

            firstNode = lastNode = new Node(insertItem);

        } else

        {// lastNode's nextNode refers to new node

            lastNode.setNext(new Node(insertItem));

            lastNode = lastNode.getNext();

        }

    }

E este é o método isEmpty():

    public boolean isEmpty()

    {

        return firstNode == null;

    }

O que fiz foi o seguinte: coloquei um break point na primeira linha do método enqueue para ver o que estava acontecendo. Quando ele é chamado pela primeira vez, obviamente a fila está vazia e então a seguinte linha é executada: firstNode = lastNode = new Node(insertItem);
OK. Coloquei um watch no firstNode e no lastNode e, no momento em que o new Node é atrituído a eles, eles recebem o valor correto. O problema é: quando termina a execução deste método, todo o conteúdo do meu objeto filaAtendimento desaparece.

Este é um exercício de uma disciplina de programação que estou fazendo na faculdade. Busquei o auxílio do professor e ele executou meu código no seu computador e funcionou normalmente. O valor realmente entra na fila e quando é feito o teste, isEmpty retorna false. Aqui no meu computador que não funciona.

Eu estava utilizando o OpenJDK no NetBeans e, na esperança de que o problema fosse este, baixei o JDK da Sun e reconfigurei a plataforma Java no NetBeans. O problema persiste. Ainda com o OpenJDK, fiz também o teste no Eclipse, mas nada, o mesmo problema.

Alguém já passou por uma situação como esta? É comum isso acontecer? Um trecho de código simples como este funcionar em um computador e não funcionar em outro?

Preciso do auxílio de vocês, pois não sei mais o que fazer!

Caso seja útil esta informação, estou rodando tudo no Ubuntu 8.04. Meu computador é um AMD64 com 512 de memória. Meu Java é este:
java version “1.6.0_07”
Java™ SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot™ Client VM (build 10.0-b23, mixed mode)

Desde já, agradeço o auxílio!
Abraço!
José