// Path: src/main/java/org/jpy/PyLib.java
// public static void assertPythonRuns() {
//     if (dllProblem != null) {
//         throw new RuntimeException("PyLib not initialized", dllProblem);
//     }
//     if (!isPythonRunning()) {
//         throw new RuntimeException("PyLib not initialized");
//     }
// }


import java.util.Objects;
import static org.jpy.PyLib.assertPythonRuns;
            return importModule("__builtin__");
        }
    }

    /**
     * Import a Python module into the Python interpreter and return its Java representation.
     *
     * @param name The Python module's name.
     * @return The Python module's Java representation.
     */
    public static PyModule importModule(String name) {
        assertPythonRuns();
        Objects.requireNonNull(name, "name must not be null");
        long pointer = PyLib.importModule(name);
        return pointer != 0 ? new PyModule(name, pointer) : null;
    }

    /**
     * Extends Python's 'sys.path' variable by the given module path.
     *
     * @param modulePath The new module path. Should be an absolute pathname.
     * @param prepend    If true, the new path will be the new first element of 'sys.path', otherwise it will be the last.
     * @return The altered 'sys.path' list.
     * @since 0.8
     */
    public static PyObject extendSysPath(String modulePath, boolean prepend) {
        Objects.requireNonNull(modulePath, "path must not be null");
        PyModule sys = importModule("sys");
        PyObject sysPath = sys.getAttribute("path");
        if (prepend) {
// Path: src/main/java/org/jpy/PyLib.java
// public static void assertPythonRuns() {
//     if (dllProblem != null) {
//         throw new RuntimeException("PyLib not initialized", dllProblem);
//     }
//     if (!isPythonRunning()) {
//         throw new RuntimeException("PyLib not initialized");
//     }
// }


// Path: src/main/java/org/jpy/PyModule.java
import java.util.Objects;
import static org.jpy.PyLib.assertPythonRuns;

            return importModule("__builtin__");
        }
    }

    /**
     * Import a Python module into the Python interpreter and return its Java representation.
     *
     * @param name The Python module's name.
     * @return The Python module's Java representation.
     */
    public static PyModule importModule(String name) {
        assertPythonRuns();
        Objects.requireNonNull(name, "name must not be null");
        long pointer = PyLib.importModule(name);
        return pointer != 0 ? new PyModule(name, pointer) : null;
    }

    /**
     * Extends Python's 'sys.path' variable by the given module path.
     *
     * @param modulePath The new module path. Should be an absolute pathname.
     * @param prepend    If true, the new path will be the new first element of 'sys.path', otherwise it will be the last.
     * @return The altered 'sys.path' list.
     * @since 0.8
     */
    public static PyObject extendSysPath(String modulePath, boolean prepend) {
        Objects.requireNonNull(modulePath, "path must not be null");
        PyModule sys = importModule("sys");
        PyObject sysPath = sys.getAttribute("path");
        if (prepend) {
            sysPath.call("insert", 0, modulePath);