This class really needs to be thread-safe, since it can be held onto a node that is kept in the workspace cache for a short period of time, and two separate Sessions might actually both call methods that result in each thread trying to call `generateHash()`. One way to do that is to simply make the `generateHash()` method `synchronized`. Then you should add the `@ThreadSafe` annotation to this class to signify to other developers that the intent of this class is indeed supposed to be thread-safe. Really, `FileSystemConnector` should have the same annotation; that's an oversight on our part.