public void aplicaDescontoExtra() {
    /*
    // PROBLEMA: Já possui vários ifs e para cada estado novo será necessário adicionar um novo if.
    //	O método tende a crescer e fica cada vez mais complexo.
    if (estadoAtual == EM_APROVACAO) {
    	valor = valor - (valor * 0.05); // Desconto de 5% caso esteja nos estado EM_APROVACAO
    } else if (estadoAtual == APROVADO) {
    	valor = valor - (valor * 0.02); // Desconto de 2% caso esteja nos estado APROVADO
    } else {
    	throw new RuntimeException("Somente orçamentos em aprovação ou aprovados ganham descontos.");
    }
    */

    estadoAtual.aplicaDescontto(this); // Aplicar o desconto nele mesmo, no próprio orçamento.
  }
 public void finaliza() {
   estadoAtual.finaliza(this);
 }
 public void reprova() {
   estadoAtual.reprova(this);
 }
 public void aprova() {
   estadoAtual.aprova(this);
 }