anchor.diff:  ----
   
   Lors de l'appel à la méthode "with", le traitement est lazy, non évalué et non executé (lazy evaluation). 
  -Ceci constitue un des appports très interessant proposé par la programmation fonctionnelle. En effet l'implémentation de la fonction diffère du moment où elle est évaluée, ce qui rend le code très intéressant car on peut décider de l'executer plus tard dans le programme. 
  -
  -Dans notre cas une méthode finale permet d'executer la fonction globale à la classe avec la valeur globale "function.apply(value)". Ainsi le résultat de la fonction est récupéré, c'est à dire le calcul du bénéfice : 
  +Ceci constitue l'un des appports très interessants proposés par la programmation fonctionnelle. En effet l'implémentation de la fonction diffère du moment où elle est évaluée, ce qui rend le code très intéressant car on peut décider de l'exécuter plus tard dans le programme. 
  +
  +Dans notre cas une méthode finale permet d'exécuter la fonction globale à la classe avec la valeur globale "function.apply(value)". Ainsi le résultat de la fonction est récupéré, c'est à dire le calcul du bénéfice : 
   
   [source,java]
   ----
  
positive.code: }
  ----
  
  Le fluent decorator se base sur une valeur de type T (n'importe quel type via les Generics en Java) et enveloppe une Function<T,T>, c'est à dire une fonction prenant un élément de type T en entré en retournant un élement du même type (comme le DoubleUnaryOperator).
  
  [source,java]
  ----
  
negative.code:   private final Function<T, T> function;
  ----
  
  Un constructeur privé prend en paramètre les 2 éléments expliqués précédemment (l'aspect privé permet d'empêcher l'instantiation en dehors de la classe) : 
  
  [source,java]
  ----
  