I've found a case where two simple examples produce different results. See https://github.com/slipcon/findbugs-bug
In Example1.java, findbugs has no issues.
In Example2.java, findbugs doesn't like the access of file.listFiles() in the range based for loop, despite it being null checked outside the loop.
If the first call of listFiles() is != null, that doesn't mean the second call is also != null.
That is no false positive.