Hide the details of how a Java source file is parsed