Primeiro commit

O método formEditarContrato não precisa do contrato, apenas do request para que seja possivel recuparar o contrato, como visto anteriormente.

Outra melhoria seria fazer a consulta ao banco após a validação, assim caso a validação falhar, a consulta não será feita, economizando tráfego:

@Path("/contrato/contratoAlterar/{id}")
	public void contratoAlterar(final Contrato contrato, HttpServletRequest request, Long id) {
		
		validator.checking(new Validations() {
			{
				that(!(contrato.getDataFim().before(contrato.getDataIni())), "erro", "contrato.data.invalida");
			}
		});
				
		validator.onErrorUsePageOf(ContratoController.class).formEditarContrato(request);
		
		contrato.setFornecedor(fornecedorDao.pegaPorId(id));
		
		persiste(contrato, request);
		
	}