I'm new to Kotlin and there's a common pattern that I'm not sure how to deal with most correctly. Take this code, for example, which doesn't compile:

```
git_repo?.add().addFilepattern()

```

`add()` is a call in the JGit library which is purely Java, so its return type is `AddCommand!`.

I have two options:

```
git_repo?.add()!!.addFilepattern("test.txt")

```

and

```
git_repo?.add()?.addFilepattern("test.txt")

```

Both work fine and given that 

1. I don't know the intricacies of the library implementation,
2. the documentation of the JGit library doesn't specify whether `add()` can return null, and
3. within this context I'd typically expect `add()` to not return a null

Which version is more idiomatically correct to write in Kotlin? It seems that this would be a fairly common issue to deal with since basically every non-Kotlin library would introduce this issue.