Tak sobie myślę, że ten kod może powodować przegięty bug. Tablice w Java przekazywane są przez referencję, wtedy ``mFragments`` to tak naprawdę utworzona gdzieś na zewnątrz tablica. Zmiana jej na zewnątrz, np.
```java
Fragment fragments[] = new Fragment[] {a, b, c};
FragmentPagerAdapter fpa = new FragmentPagerAdapter(getFragmentManager(), fragments, 3);
(...)
fragments[2] = null;
```
spowoduje strasznie trudny do debugowania błąd. Uważam, że ``mFragments`` powinno być nową tablicą o zawartości tablicy ``fragments``.

[Tutaj](https://db.tt/hsh44U2c) umieściłem patcha, który pokazuje, że taki błąd może wykrzaczyć aplikację (zmieniłem zawartość tablicy po ustawieniu adaptera w ``FragmentTabManager``).