code: public static void mount(MountOwner owner, VirtualFile target, MountOption... mountOptions) throws IOException {
          final RegistryEntry targetEntry = getEntry(target);
          targetEntry.mount(target, getMountConfig(mountOptions));
          targetEntry.inboundReferences.add(owner);
          ownerReferences.putIfAbsent(owner, new HashSet<RegistryEntry>());
          ownerReferences.get(owner).add(targetEntry);
      }
docs: Mount provided {@link VirtualFile} (if not mounted) and add an owner entry.  Also creates a back-reference to from the owner to the target.
  
  @param owner        MountOwner that owns the reference to the mount
  @param target       VirtualFile to mount
  @param mountOptions optional configuration to use for mounting
  @throws IOException when the target can not be mounted