Newly created upstream aya file in LSP was not added to the correct library
Buggy:
```log
[Log]: Created new file: \\success\\common\\src\\Homotopy\\icekiva.aya, mocked a library Homotopy for it
[Log]: Created new file: \\success\\common\\src\\ice4k.aya, mocked a library src for it
[Log]: Created new file: \\success\\src\\ProtoIssues\\ice5k.aya, added to owner: tests
```

Expected:
```log
[Log]: Created new file: \\success\\common\\src\\Homotopy\\icekiva.aya, added to owner: common
[Log]: Created new file: \\success\\common\\src\\ice4k.aya, added to owner: common
[Log]: Created new file: \\success\\src\\ProtoIssues\\ice5k.aya, added to owner: tests
```
diff --git a/lsp/src/main/java/org/aya/lsp/server/AyaLanguageServer.java b/lsp/src/main/java/org/aya/lsp/server/AyaLanguageServer.java
index 90fe6b23b..6edd5a658 100644
--- a/lsp/src/main/java/org/aya/lsp/server/AyaLanguageServer.java
+++ b/lsp/src/main/java/org/aya/lsp/server/AyaLanguageServer.java
@@ -7,6 +7,7 @@ import kala.collection.immutable.ImmutableMap;
 import kala.collection.immutable.ImmutableSeq;
 import kala.collection.mutable.MutableList;
 import kala.collection.mutable.MutableMap;
+import kala.collection.mutable.MutableSet;
 import kala.control.Option;
 import kala.tuple.Tuple;
 import org.aya.cli.library.LibraryCompiler;
@@ -142,7 +143,23 @@ public class AyaLanguageServer implements LanguageServer {
     if (path == null) return null;
     var ayaJson = path.resolve(Constants.AYA_JSON);
     if (!Files.exists(ayaJson)) return findOwner(path.getParent());
-    return libraries.find(lib -> lib.underlyingLibrary().libraryRoot().equals(path)).getOrNull();
+    var book = MutableSet.<LibraryConfig>create();
+    for (var lib : libraries) {
+      var found = findOwner(book, lib, path);
+      if (found != null) return found;
+    }
+    return null;
+  }
+
+  private @Nullable LibraryOwner findOwner(@NotNull MutableSet<LibraryConfig> book, @NotNull LibraryOwner owner, @NotNull Path libraryRoot) {
+    if (book.contains(owner.underlyingLibrary())) return null;
+    book.add(owner.underlyingLibrary());
+    if (owner.underlyingLibrary().libraryRoot().equals(libraryRoot)) return owner;
+    for (var dep : owner.libraryDeps()) {
+      var found = findOwner(book, dep, libraryRoot);
+      if (found != null) return found;
+    }
+    return null;
   }
 
   private @Nullable LibrarySource find(@NotNull LibraryOwner owner, Path moduleFile) {
['lsp/src/main/java/org/aya/lsp/server/AyaLanguageServer.java']