- The method should not invoke methods on objects that are returned by any of the allowed functions. In other words, talk to friends, not to strangers
final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();
- It is usually best to split them up as follows:
Options opts = ctxt.getOptions();
File scratchDir = opts.getScratchDir();
final String outputDir = scratchDir.getAbsolutePath();