Add intersection type handling for Java 8 and up.

AVERT YER EYES

Closes #91.
nit: `sep` –> `separator` ?