anchor.diff:  
   == Use of Java 8 Lambdas for earlier Java Runtimes
   
  -Using the Java 8 lamdba expressions can grealty improve the functional experience.
  +Using the Java 8 lamdba expressions can greatly improve the functional experience.
   If you need to target an older Java Runtime, down to Java 5, you can still compile your code with a Java 8 compiler and afterwards postprocess the classfiles with the https://github.com/orfjackal/retrolambda[retrolambda tool].
   As long as you only use the Lambda syntax but no other new API from Java 8, your code will also run in Java 7 and before.
   
  
positive.code: 
  // TODO: Examples
  
  (Example will come later)
  
  == Download
  
  
negative.code: * link:{srcdir}de/tototec/utils/functional/Optional{javasuffix}[`Optional`] - An immutable class representing an optional value
  * link:{srcdir}de/tototec/utils/functional/Either{javasuffix}[`Either`] - An immutable class representing either one of two values
  * link:{srcdir}de/tototec/utils/functional/Tuple2{javasuffix}[`Tuple2`], link:{srcdir}de/tototec/utils/functional/Tuple3{javasuffix}[`Tuple3`], ... - Classes representing tuples with n args where n is given by the name
  * link:{srcdir}de/tototec/utils/functional/Try{javasuffix}[`Try`] - An experimental wrapper around computations, that may throw exceptions
  
  All those classes and interfaces can be used with Java 5 and above. Although by their use, your code will not get more compact, but hopefully less errorprone.
  
  There are a lot of more sophisticated functional libraries for Java8+ around, but they all cannot be used with older Java versions. Therefore, the aim of this library is to stay Java5+ compatible.
  
  Of course, programming with lambda expressions and annonymous classes in older Java versions isn't much fun. Please read the Java8 sections below, to learn how to code in Java8 source level but compile and convert Bytecode to older Java versions transparently.
  
  == Examples
  
  