// Path: json-unit-core/src/main/java/net/javacrumbs/jsonunit/core/Option.java
// public enum Option {
//     /**
//      * Treats null nodes in actual value as absent. In other words
//      * if you expect {"test":{"a":1}} this {"test":{"a":1, "b": null}} will pass the test.
//      * When using within {@link ConfigurationWhen#then(Option, Option...)}, exact path to such nodes should be passed,
//      * which is test.b in the example above.
//      */
//     TREATING_NULL_AS_ABSENT,
// 
//     /**
//      * When comparing arrays, ignores array order. In other words, treats arrays as sets.
//      */
//     IGNORING_ARRAY_ORDER,
// 
//     /**
//      * Ignores extra fields in the actual value.
//      * When using within {@link ConfigurationWhen#then(Option, Option...)}, path to the nodes with such fields should be passed.
//      */
//     IGNORING_EXTRA_FIELDS,
// 
// 
//     /**
//      * Passes even if array in compared document has more items than expected.
//      * Items are taken from the beginning of the expected array unless IGNORING_ARRAY_ORDER is specified.
//      */
//     IGNORING_EXTRA_ARRAY_ITEMS,
// 
//     /**
//      * Compares only structures. Completely ignores both values and types.
//      * Is too lenient, ignores types, prefer {@link Option#IGNORING_VALUES} instead.
//      *
//      * @deprecated Use IGNORING_VALUES option instead
//      */
//     @Deprecated
//     COMPARING_ONLY_STRUCTURE,
// 
//     /**
//      * Ignores values but fails if value types are different.
//      * When using within {@link ConfigurationWhen#then(Option, Option...)}, path to the node with ignored value should be passed.
//      */
//     IGNORING_VALUES
// }


import net.javacrumbs.jsonunit.core.Option;
import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;
package net.javacrumbs.jsonunit.core.internal;




public class PathOption {
    private final List<String> paths;
// Path: json-unit-core/src/main/java/net/javacrumbs/jsonunit/core/Option.java
// public enum Option {
//     /**
//      * Treats null nodes in actual value as absent. In other words
//      * if you expect {"test":{"a":1}} this {"test":{"a":1, "b": null}} will pass the test.
//      * When using within {@link ConfigurationWhen#then(Option, Option...)}, exact path to such nodes should be passed,
//      * which is test.b in the example above.
//      */
//     TREATING_NULL_AS_ABSENT,
// 
//     /**
//      * When comparing arrays, ignores array order. In other words, treats arrays as sets.
//      */
//     IGNORING_ARRAY_ORDER,
// 
//     /**
//      * Ignores extra fields in the actual value.
//      * When using within {@link ConfigurationWhen#then(Option, Option...)}, path to the nodes with such fields should be passed.
//      */
//     IGNORING_EXTRA_FIELDS,
// 
// 
//     /**
//      * Passes even if array in compared document has more items than expected.
//      * Items are taken from the beginning of the expected array unless IGNORING_ARRAY_ORDER is specified.
//      */
//     IGNORING_EXTRA_ARRAY_ITEMS,
// 
//     /**
//      * Compares only structures. Completely ignores both values and types.
//      * Is too lenient, ignores types, prefer {@link Option#IGNORING_VALUES} instead.
//      *
//      * @deprecated Use IGNORING_VALUES option instead
//      */
//     @Deprecated
//     COMPARING_ONLY_STRUCTURE,
// 
//     /**
//      * Ignores values but fails if value types are different.
//      * When using within {@link ConfigurationWhen#then(Option, Option...)}, path to the node with ignored value should be passed.
//      */
//     IGNORING_VALUES
// }


// Path: json-unit-core/src/main/java/net/javacrumbs/jsonunit/core/internal/PathOption.java
import net.javacrumbs.jsonunit.core.Option;
import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;

package net.javacrumbs.jsonunit.core.internal;




public class PathOption {
    private final List<String> paths;
    private final Set<Option> options;