Those values don't have to be recreated at every iteration.
`ChainedPreferenceStore` can be a static value somewhere.
`ScalaCodeScanner` is not thread safe, so I don't know if you can keep one per instance of the converter, or if you need to create a new one at each invocation of the method.
`SimpleDocument` can be created once for the instance.