What are the most important points to be aware of, and the workarounds, when gradually migrating an existing Java codebase to Scala? With a (potentially very long) intermediate phase where both languages are in use.

The sort of things I'm thinking about are:

* different collection hierarchies
* Java constructs that Scala can't handle well
* Scala constructs that are impractical to use in Java
* build tools
* compilation order
* immutability support in frameworks
* etc.