public Container load(InputStream is) throws FormatException, IOException {

        byte[] magic = new byte[4];

        int bytesRead = is.read(magic);

        if (bytesRead < 4
                || magic[0] != 0xF0
                || magic[1] != 0x9F
                || magic[2] != 0x99
                || magic[3] != 0x89) {

            throw new FormatException("MLA magic is missing");
        }

        int version = is.read();

        if (version == -1) {
            throw new FormatException("MLA version byte is missing");
        } else {

            VersionLoader loader = versionLoaders.get(version);

            if (loader == null) {
                throw new FormatException("MLA version " + version + " is not supported by this library");
            } else {
                return loader.load(is);
            }
        }
    }