Ajuda com RecordComparator

Olá a todos,
não consigo ordenar:

if (command == cListarCadTurma){
listaUpdCadTurma.deleteAll();
ComparadorCodigo comparador = new ComparadorCodigo();
listarRegistros(null,comparador);
}

private void listarRegistros(FiltroCodigo f, ComparadorCodigo c){
RecordEnumeration rEnum = null;
vecNomes.removeAllElements();
try{
rEnum = rsCadTurma.enumerateRecords(f,c,false);
int posicao = 0;
while(rEnum.hasNextElement()){
int id = rEnum.nextRecordId();
byte[] dados = rsCadTurma.getRecord(id);
ByteArrayInputStream BAIS = new ByteArrayInputStream(dados);
DataInputStream DIS = new DataInputStream(BAIS);
int codigoLido = DIS.readInt();
String nomeLido = DIS.readUTF();
NomesCadTurma itemAgenda = new NomesCadTurma(codigoLido, nomeLido, id, posicao);
vecNomes.addElement(itemAgenda);
posicao++;
}
gerarTela(vecNomes,rEnum.numRecords());
}
catch (Exception exc) {
mostrarAlerta(“Erro na listagem”,exc.toString());
}
finally {
rEnum.destroy();
}
}

class FiltroCodigo implements RecordFilter {
String nome;
int codigo;
public FiltroCodigo(int codigoFiltrado) {
codigo = codigoFiltrado;
}
public boolean matches(byte [] registro) {
try{
ByteArrayInputStream BAIS = new ByteArrayInputStream(registro);
DataInputStream DIS = new DataInputStream(BAIS);
int codigoLido = DIS.readInt();
String nomeLido = DIS.readUTF();
DIS.close();
BAIS.close();
if (codigo == codigoLido)
return true;
}
catch (Exception exc) {
mostrarAlerta(“Erro FiltroNome”, exc.toString());
}
return false;
}
}

class ComparadorCodigo implements RecordComparator {
public int compare(byte [] reg1, byte [] reg2) {
try{
ByteArrayInputStream BAIS = new ByteArrayInputStream(reg1);
DataInputStream DIS = new DataInputStream(BAIS);
int codigoLido1 = DIS.readInt();
DIS.close();
BAIS.close();

        ByteArrayInputStream BAIS2 = new ByteArrayInputStream(reg2);
        DataInputStream DIS2 = new DataInputStream(BAIS2);
        int codigoLido2 = DIS.readInt();
        DIS2.close();
        BAIS2.close();

        if (codigoLido1 < codigoLido2){
            return PRECEDES;
        }
        if (codigoLido1 > codigoLido2){
            return FOLLOWS;
        }
        if (codigoLido1 == codigoLido2){
            return EQUIVALENT;
        }
    }
    catch (Exception exc) {
          System.out.println("Exceção: " + exc.getMessage());
    }
    return EQUIVALENT;
  }
}

[code]
Eu fiz assim e deu certo e nessessario chamar[color=red] ordena = “Conta”;[/color] no comado que foi determinado para listar os dados
class Ordenar implements RecordComparator {

    String ordena = "Conta";

    public Ordenar(String ordena) {
        this.ordena = ordena;

    }

    public int compare(byte[] rec1, byte[] rec2) {
        try {
            String dado1, dado2;
            ByteArrayInputStream inputStream = new ByteArrayInputStream(rec1);
            DataInputStream dataStream = new DataInputStream(inputStream);

            dado1 = dataStream.readUTF();
            if (ordena.equals("Conta")) {
                dado1 = dataStream.readUTF();
            }


            inputStream = new ByteArrayInputStream(rec2);
            dataStream = new DataInputStream(inputStream);
            dado2 = dataStream.readUTF();
            if (ordena.equals("Conta")) {
                dado2 = dataStream.readUTF();
            }


            int resultado = dado1.compareTo(dado2);
            if (resultado == 0) {
                return RecordComparator.EQUIVALENT;
            } else if (resultado < 0) {
                return RecordComparator.PRECEDES;
            } else {
                return RecordComparator.FOLLOWS;
            }

        } catch (Exception ERRO) {
            return RecordComparator.EQUIVALENT;
        }[/code]