Text this: Semantics-Driven Migration of Java Programs: a Practical Experience