Fixing Maven structure
Space to tabs
Moving to Java 8
Diamonds are forever
Adding parameter info
Using Java Collections instead of Guava
Adding Stream Joiner
Using Java suppliers