class AndroidBuildGradleJsonStreamingParser implements Closeable {

    public void parse() throws IOException {
        reader.beginObject();
        while (reader.hasNext()) {
            String name = reader.nextName();
            switch (name) {
                case "stringTable":
                    parseStringTable();
                    break;
                case "buildFiles":
                    parseBuildFiles();
                    break;
                case "cleanCommands":
                    parseCleanCommands();
                    break;
                case "cFileExtensions":
                    parseCFileExtensions();
                    break;
                case "cppFileExtensions":
                    parseCppFileExtensions();
                    break;
                case "libraries":
                    parseLibraries();
                    break;
                case "toolchains":
                    parseToolchains();
                    break;
                default:
                    parseUnknown();
                    break;
            }
        }
        reader.endObject();
    }

    public  AndroidBuildGradleJsonStreamingParser(
            @NonNull JsonReader reader, @NonNull AndroidBuildGradleJsonStreamingVisitor visitor);

}