Salve ! Estou com dúvida na hora de executar o main. O retorno do método buscaPorNome() sempre retorna null. Poderiam me ajudar ?
Classe Banco
package br.com.empresa.banco;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import br.com.empresa.conta.Conta;
public class Banco {
    private String nome;
    private List<Conta> contas = new ArrayList<>();
    private Map<String, Conta> indexadoPorNome = new HashMap();
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public List<Conta> getContas() {
        return contas;
    }
    public void setContas(List<Conta> contas) {
        this.contas = contas;
    }
    public void adiciona(Conta c){
        this.contas.add(c);
        indexadoPorNome.put(c.getNome(), c);
    }
    public Conta getConta(int x){
        return contas.get(x);
    }
    public int QuantidadeDeContas(){
        return contas.size();
    }
    public Conta pega(int posicao){
        return contas.get(posicao);        
    }
    public int pegaQuantidadeDeContas(){
        return contas.size();
    }
    public Conta buscaPorNome(String nome){
        return indexadoPorNome.get(nome);
    }
}Classe Main
package br.com.empresa.teste;
import java.util.ArrayList;
import java.util.List;
import br.com.empresa.banco.Banco;
import br.com.empresa.conta.Conta;
import br.com.empresa.conta.ContaCorrente;
import br.com.empresa.conta.ContaPoupanca;
public class TestaBanco {
    public static void main(String[] args) {
        Banco b1 = new Banco();
        List<Conta> contas = new ArrayList<>();
        ContaCorrente c1 = new ContaCorrente();
        c1.setNumero(123);
        c1.setNome("Jose");
        c1.setSaldo(2500.00);
        ContaPoupanca c2 = new ContaPoupanca();
        c2.setNumero(123);
        c2.setNome("Maria");
        c2.setSaldo(1500.00);
        contas.add(c1);
        contas.add(c2);
        b1.setContas(contas);
        System.out.println(b1.pegaQuantidadeDeContas());
        System.out.println(b1.buscaPorNome("Jose"));
    }
}meu retorno é sempre 2(quantidade de contas) null(buscaPorNome), não sei onde estou errando. Obrigado.
 
            