"incompatible types" error on constructor `_root` parameter when importing type from other KSY file
Here's one KSY file:

```ksy
meta:
  id: first_ksy_file
  imports:
    - second_ksy_file
seq:
  - id: foo
    type: "second_ksy_file::type_in_second_ksy_file"
```

Here's another KSY file:

```ksy
meta:
  id: second_ksy_file
types:
  type_in_second_ksy_file:
    seq:
      - id: bar
        type: u1
```

In the read() method of FirstKsyFile.java, this line:

```java
this.foo = new SecondKsyFile.TypeInSecondKsyFile(this._io, this, _root);
```
has this error on the third argument:

> incompatible types: FirstKsyFile cannot be converted to SecondKsyFile

The constructor we're trying to call is:

```java
public TypeInSecondKsyFile(KaitaiStream _io, FirstKsyFile _parent, SecondKsyFile _root) { ... }
```

In an answer on StackOverflow, GreyCat says this should be possible: [Referencing Kaitai Struct file (ksy) in external ksy file in Kaitai Struct](https://stackoverflow.com/questions/60105346/referencing-kaitai-struct-file-ksy-in-external-ksy-file-in-kaitai-struct)

Should I edit the generated Java code to use the two-argument constructor of TypeInSecondKsyFile (which does not have the `_root` parameter) instead?

Or maybe the KS compiler should make the type of the `_root` parameter be `KaitaiStruct`?