Java migration strategy