code: private FolderAndFile handle(final Path root, final Path relativePath, final Path path, final boolean create) throws FrameworkException {
  
  		// identify mounted folder object
  		final PropertyKey<String> mountTargetKey = StructrApp.key(Folder.class, "mountTarget");
  		final Folder folder                      = StructrApp.getInstance().nodeQuery(Folder.class).and(mountTargetKey, root.toString()).getFirst();
  
  		if (folder != null) {
  
  			final String mountFolderPath = folder.getProperty(StructrApp.key(Folder.class, "path"));
  			if (mountFolderPath != null) {
  
  				final Path relativePathParent = relativePath.getParent();
  				if (relativePathParent == null) {
  
  					return new FolderAndFile(folder, getOrCreate(folder, path, relativePath, create));
  
  				} else {
  
  					final String pathRelativeToRoot = folder.getPath() + "/" + relativePathParent.toString();
  					final Folder parentFolder       = FileHelper.createFolderPath(SecurityContext.getSuperUserInstance(), pathRelativeToRoot);
  					final AbstractFile file         = getOrCreate(parentFolder, path, relativePath, create);
  
  					return new FolderAndFile(folder, file);
  				}
  
  			} else {
  
  				logger.warn("Cannot handle watch event, folder {} has no path", folder.getUuid());
  			}
  		}
  
  		return null;
  	}
docs: ----- private methods -----