anchor.diff:      final double turnover = 100000;
   
       // When.
  -    final double profit = new DefaultProfitCalculator().andThen(Expenses::getOperatingExpenses)
  -        .andThen(Expenses::getDeductibleTaxes).andThen(Expenses::getRemuneration)
  -        .applyAsDouble(turnover);
  +    final double profit = new DefaultProfitCalculator()
  +                             .andThen(Expenses::getOperatingExpenses)
  +                             .andThen(Expenses::getDeductibleTaxes)
  +                             .andThen(Expenses::getRemuneration)
  +                             .applyAsDouble(turnover);
   
       // Then.
       assertThat(profit).isNotNull().isEqualTo(34600);
  
positive.code: La méthode "calculateProfit" est appelée avec la CA et la liste des fonctions decorator séparée une virgule. Ceci a été via la paramètre de méthode suivant : "DoubleUnaryOperator... operators".
  De nouveau le client de l'API dispose d'un traitement très souple, facilement modifiable et évolutif.
  
  
  
  
negative.code: 
    public double calculateProfit(final double turnover, final DoubleUnaryOperator... operators) {
      return Stream.of(operators).reduce(DoubleUnaryOperator.identity(), DoubleUnaryOperator::andThen)
                                 .applyAsDouble(turnover);
    }
  }
  ----
  