$ java -Djdk.serialFilter="maxdepth=10;com.ankurm.serialization.*;java.lang.*;!*" FilterFactoryDemo
jdk.serialFilter (system property) = maxdepth=10;com.ankurm.serialization.*;java.lang.*;!*
Config.getSerialFilter()            = maxdepth=10;com.ankurm.serialization.*;java.lang.*;!*
factory before                      = java.io.ObjectInputFilter$Config$BuiltinFilterFactory
factory installed; installing a second one:
IllegalStateException: Cannot replace filter factory
context A (Ok + String allowed):
  read Ok     -> Ok[s=fine]
  read String -> a plain string
  read 50-deep chain -> InvalidClassException: filter status: REJECTED
context B (String only):
  read String -> a plain string
  read Ok     -> InvalidClassException: filter status: REJECTED
