VirtualDirectoryImpl does not look like API indeed, but also WatchedRootsProvider seems not right in requiring its use
VirtualDirectoryImpl
WatchedRootsProvider