• The Method.invoke case
  • The "poly-null" case
  • The AtomicReference case
  • The findViewById case
  • The parseInt case
  • Two kinds of callers
  • Nullness analysis
  • Make parseInt parameter non-null
  • Make parseInt parameter nullable
  • Conclusion
  • The "something has already gone wrong" case
  • Splitting the cases
  • Case 1: provided type
  • Case 2: accepted type
  • Conclusion
  • The "everything is projected" case