// Path: json-path/src/main/java/com/jayway/jsonpath/ParseContext.java
// public interface ParseContext {
// 
//     DocumentContext parse(String json);
// 
//     DocumentContext parse(Object json);
// 
//     DocumentContext parse(InputStream json);
// 
//     DocumentContext parse(InputStream json, String charset);
// 
//     DocumentContext parse(File json) throws IOException;
// 
//     DocumentContext parseUtf8(byte[] json);
// 
//     @Deprecated
//     DocumentContext parse(URL json) throws IOException;
// }
// 
// Path: json-path/src/main/java/com/jayway/jsonpath/internal/Utils.java
// public static <T extends CharSequence> T notEmpty(T chars, String message) {
//     if (chars == null || chars.length() == 0) {
//         throw new IllegalArgumentException(message);
//     }
//     return chars;
// }
// 
// Path: json-path/src/main/java/com/jayway/jsonpath/internal/Utils.java
// public static <T> T notNull(T object, String message) {
//     if (object == null) {
//         throw new IllegalArgumentException(message);
//     }
//     return object;
// }


import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.ParseContext;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import static com.jayway.jsonpath.internal.Utils.notEmpty;
import static com.jayway.jsonpath.internal.Utils.notNull;
package com.jayway.jsonpath.internal;




public class ParseContextImpl implements ParseContext {

    private final Configuration configuration;

    public ParseContextImpl() {
        this(Configuration.defaultConfiguration());
    }

    public ParseContextImpl(Configuration configuration) {
        this.configuration = configuration;
    }

    @Override
    public DocumentContext parse(Object json) {
// Path: json-path/src/main/java/com/jayway/jsonpath/ParseContext.java
// public interface ParseContext {
// 
//     DocumentContext parse(String json);
// 
//     DocumentContext parse(Object json);
// 
//     DocumentContext parse(InputStream json);
// 
//     DocumentContext parse(InputStream json, String charset);
// 
//     DocumentContext parse(File json) throws IOException;
// 
//     DocumentContext parseUtf8(byte[] json);
// 
//     @Deprecated
//     DocumentContext parse(URL json) throws IOException;
// }
// 
// Path: json-path/src/main/java/com/jayway/jsonpath/internal/Utils.java
// public static <T extends CharSequence> T notEmpty(T chars, String message) {
//     if (chars == null || chars.length() == 0) {
//         throw new IllegalArgumentException(message);
//     }
//     return chars;
// }
// 
// Path: json-path/src/main/java/com/jayway/jsonpath/internal/Utils.java
// public static <T> T notNull(T object, String message) {
//     if (object == null) {
//         throw new IllegalArgumentException(message);
//     }
//     return object;
// }


// Path: json-path/src/main/java/com/jayway/jsonpath/internal/ParseContextImpl.java
import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.ParseContext;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import static com.jayway.jsonpath.internal.Utils.notEmpty;
import static com.jayway.jsonpath.internal.Utils.notNull;

package com.jayway.jsonpath.internal;




public class ParseContextImpl implements ParseContext {

    private final Configuration configuration;

    public ParseContextImpl() {
        this(Configuration.defaultConfiguration());
    }

    public ParseContextImpl(Configuration configuration) {
        this.configuration = configuration;
    }

    @Override
    public DocumentContext parse(Object json) {
        notNull(json, "json object can not be null");