One or several (comma-separated) paths to JSON files that specify lists of serialization configurations.

The structure is described in the following schema:

  https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/serialization-config-schema-v1.1.0.json

Example:

    [
      {
        "condition" : {
          "typeReachable" : "app.DataSerializer"
        },
        "name" : "java.util.ArrayList"
      }
    ]

For deserializing lambda classes, the capturing class of the lambda needs to be specified in a separate section of the configuration file, for example:

    [
      "types" : [
        {
          "name" : "java.lang.Object"
        }
      ],
      "lambdaCapturingTypes" : [
        {
          "name" : "java.util.Comparator"
        }
      ]
    ]

This JSON file format is also used for the serialization deny list.

In rare cases an application might explicitly make calls to

    ReflectionFactory.newConstructorForSerialization(Class<?> cl, Constructor<?> constructorToCall)

where the passed `constructorToCall` differs from what would automatically be used if regular serialization of `cl`
would happen. To also support such serialization usecases it is possible to register serialization for a class with a
custom constructorToCall. For example, to allow serialization of `org.apache.spark.SparkContext$$anonfun$hadoopFile$1`
using the DeclaredConstructor of java.lang.Object as custom targetConstructor the following can be used in
serialization-config.json:

    [
      {
        "condition" : {
          "typeReachable" : "org.apache.spark.SparkContext"
        },
        "name" : "org.apache.spark.SparkContext$$anonfun$hadoopFile$1",
        "customTargetConstructorClass" : "java.lang.Object"
      }
    ]
