So what happens when you need to deal with java.time and Joda Time in the same class (e.g. because Joda was part of your public API but you're migrating to Java time). Fully qualified names everywhere, when it would be nicer to have a construct like:
import org.joda.time.Instant as JodaInstant;
The rest of the weirdness is to make it look like JS destructuring