public int retorneAnoFabVei(String placa) throws ExcecaoPlacaInexistente {
    Veiculo vei = banco.getVeiculoComPlaca(placa);

    if (vei == null) throw new ExcecaoPlacaInexistente();

    return vei.getAno();
  }
  public void salvarVeiculo(Veiculo veic) throws ExcecaoVeiculoExistente, ExcecaoCPFInexistente {
    Veiculo veiculo = banco.getVeiculoComPlaca(veic.getPlaca());

    if (veiculo != null) {
      throw new ExcecaoVeiculoExistente();
    }

    if (this.getCondutorComCpf(veic.getCpfDono()) == null) {
      throw new ExcecaoCPFInexistente();
    }

    banco.addVeiculo(veic);
  }
  public Collection<Infracao> getInfracoes(long cpf) {

    ArrayList<Infracao> infracoes = new ArrayList<Infracao>(banco.getInfracoes());
    ArrayList<Veiculo> veiculos = new ArrayList<Veiculo>(banco.getVeiculos());

    ArrayList<Infracao> infracoesCPF = new ArrayList<Infracao>();

    for (Veiculo v : veiculos) {
      if (String.valueOf(v.getCpfDono())
          .toUpperCase()
          .contains(String.valueOf(cpf).toUpperCase())) {
        for (Infracao i : infracoes) {
          if (i.getPlaca().equals(v.getPlaca())) infracoesCPF.add(i);
        }
      }
    }

    return infracoesCPF;
  }