We discuss Refaster, a tool that uses normal, compilable before-and-after examples
of Java code to specify a Java refactoring. Refaster has been used successfully by
the Java Core Libraries Team at Google to perform a wide variety of refactorings
across Google's massive Java codebase. Our main contribution is that a large class
of useful refactorings can be expressed in pure Java, without a specialized DSL,
while keeping the tool easily accessible to average Java developers.