Faria sentido aplicarmos o principio da inversão de dependência na classe CalculadoraDeImpostos de forma que seria obrigatório ao instancia-la passar um Imposto, a deixando dessa forma:
public class CalculadoraDeImpostos {
private Imposto imposto;
public CalculadoraDeImpostos (Imposto imposto) {
this.imposto = imposto;
}
public BigDecimal calcular(Orcamento orcamento) {
return imposto.calcular(orcamento);
}
}