Add intersection type handling for Java 8 and up.

AVERT YER EYES

Closes #91.
Precisely why we should hide it away in a helper!