Removed TODO, used a simple ternary; javadoc.
Refactored to side-related logic (not based on opponent initially).
Javadoc.
Heavily used Java8 Stream API.
First use of Optional interface.
Filtering, method references...
Comment about further possible class evolution.
Removed unused methods.