| Every subclass of `Fragment` must be public and have a public, nullary |
| constructor. The Android framework will reflectively instantiate them after a |
| configuration change, such as screen rotation, and if the class is not |
| instantiable by `Class#newInstance()`, an `InstantiationException` will be |
| thrown. |
| |
| In addition, it is strongly recommended that subclasses not have other |
| constructors with parameters, since these constructors will not be called when |
| the fragment is re-instantiated; instead, arguments should be supplied with |
| `setArguments(Bundle)` and retrieved with `getArguments()`. |
| |
| For more information, please see the documentation for |
| [Fragment](https://developer.android.com/reference/android/app/Fragment.html#Fragment\(\)). |
| |
| This check is an adaptation of the `ValidFragment` rule of |
| [Android Lint](https://tools.android.com/tips/lint-checks). |