public Header get() {
Iterator<FixedLine> iterator = lines.iterator();
PeekingIterator<FixedLine> peeking = Iterators.peekingIterator(iterator);
FixedLine line = peeking.peek();
Integer tipo = line.column(0, 1).get(Integer.class);
if (tipo.intValue() != 0 || line.getText().length() != 400) {
throw new ExcecaoCnab(
line, "Primeira linha não corresponde a um header CNAB400. " +
"Talvez você tenha enviado o arquivo incorreto?");
}
Integer codigo = line.column(76, 79).get(Integer.class);
Banco banco = Banco.valueOf(codigo.intValue());
Modelo modelo = banco.getModelo();
return new HeaderPadrao(banco, modelo, line);
}