Validação de Coluna da TableView[ ME AJUDE]

Preciso adicionar somente uma conta ativa na tableview, preciso fazer a validação, não to conseguindo, alguem pode me ajudar? o código é o seguinte abaixo

AS MINHAS TENTATIVAS FORAM A DO CÓDIGO ENTRE OS TRAÇOS
OBS: a função isAtiva() retorna um boolean e a getStatus() retorna o Status com SIM e NÂO

// Verifica se há duplicidade de cheques no grid.
final int[] count = {0};
final int[] cont = {0};

public void validarDadosBancarios(DadosBancariosMDL b, ObservableList gridDBancarios, Funcao funcao, int posicao) throws RegistroIncorretoException, SQLException {

    // Verifica se há duplicidade de cheques no grid.
    final int[] count = {0};
    final int[] cont = {0};

    gridDBancarios.forEach(e -> {
        if (e.getBanco_id().equals(b.getBanco_id()) && e.getAgencia().equals(b.getAgencia()) && e.getConta().equals(b.getConta())) {
            if (funcao == INCLUSAO || (funcao == ALTERACAO && posicao != count[0])) {
                message.add("Não é possível lançar duas CONTAS BANCÁRIAS com o mesmo BANCO, AGÊNCIA e CONTA.");
            }
        }
        System.out.println("----------------------------------------------------------------");
        
        if(e.getStatus().equals("SIM")){
            cont[0] = 1;
        }
        if(e.getStatus().equals("NÂO")){
            cont[0] = 0;
        }
        if(e.getStatus().equals("SIM") && b.isAtiva() && funcao == ALTERACAO){
            cont[0] = 0;
        }
        if (cont[0] == 1) {
            message.add("Apenas uma conta ativa.");
        }

        if (e.isAtiva() && e.getStatus().equals("SIM") && cont[0] == 0 && e.getStatus().equals(b.getStatus())) {
            
            cont[0] = 1;
        }
        if (e.isAtiva() && e.getStatus().equals("SIM") && cont[0] == 1) {
            
            cont[0] =0 ;
        }
        if (b.isAtiva() && funcao == ALTERACAO && cont[0] == 1 && e.getStatus().equals("NÂO")) {
           
            cont[0] = 0;
        }
        System.out.println("----------------------------------------------------------------");

        count[0]++;
    });
    if (message.size() > 0) {
        throw new RegistroIncorretoException(message);
    }
    

}

}

De onde vem esta informação? É inserida pelo usuário ou vem de uma base de dados?
Como você controla os dados que estão nessa tableview (creio que não seja diretamente nela, talvez em um array ou em uma list, não?)?

Neste caso é melhor primeiramente separar o código em partes:

    // verifica se tem contas repetidas
    boolean invalido = gridDBancarios.stream().anyMatch(e
        // compara os dados do banco
        -> (e.getBanco_id().equals(b.getBanco_id())
        && e.getAgencia().equals(b.getAgencia())
        && e.getConta().equals(b.getConta()))
        // compara posicao e funcao
        && (funcao == INCLUSAO
        || (funcao == ALTERACAO
        && e != gridDBancarios.get(posicao))) // removi o count[0]
    );
    if (invalido) {
        message.add("Não é possível lançar duas CONTAS BANCÁRIAS com o mesmo BANCO, AGÊNCIA e CONTA.");
    }

    // conta quantas contas estao ativas
    long count = gridDBancarios.stream().filter(e -> {
        DadosBancariosMDL selecionado;
        if (funcao == ALTERACAO && e == gridDBancarios.get(posicao)) {
            selecionado = b;
        } else {
            selecionado = e;
        }
        return selecionado.isAtiva() && selecionado.getStatus().equals("SIM");
    }).count();
    if (count > 1) {
        message.add("Mais de uma conta ativa.");
    }
    if (count == 0) {
        message.add("Nenhuma conta ativa.");
    }

Apenas um adendo, colocar [ME AJUDE], [URGENTE], etc, não traz nenhum benefício.
Entenda, este é um fórum que depende da comunidade para que as respostas apareçam.
E isso quer dizer, na prática, que é preciso que alguém com tempo livre e disposição para ler (muitas vezes tópicos praticamente ininteligíveis), entender a questão e, então, tecer um comentário.
Isso nem sempre é possível, nem sempre as pessoas tem o conhecimento sobre o assunto da questão ou não tem o tempo ou, mais comum, leem e não conseguem entender lhufas.
Portanto, o que mais ajuda é um título bem descritivo e um texto correto, bem escrito e revisado, para deixar o mínimo de dúvidas e oferecer o máximo de informação possível.
Ajude a si mesmo a ser ajudado.

Obrigado pela dica

Obrigado, foi muito útil