if (jars.size() > 0) {
            URL[] jarUrls = getUrls(jars);
            classLoaderToUse = new ChildFirstClassLoader(jarUrls, Main.class.getClassLoader());
        }
        ObjectCollectionSerializer serializer = new ObjectCollectionSerializer();
        EntityManager em = null;
        ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
        try {
            Thread.currentThread().setContextClassLoader(classLoaderToUse);
            em = getEntityManager(driverClass, dialect, connectionUrl, username, password, persistenceUnit);
            
            em.getTransaction().begin();
            
            for (String query : queries) {
                log.info("Executing query: " + query);
                Query q = em.createQuery(query);
                @SuppressWarnings("unchecked")
                List<Object> results = q.getResultList();
                for(Object result : results) {
                    HibernateDetachUtility.nullOutUninitializedFields(result, HibernateDetachUtility.SerializationType.SERIALIZATION);
                }
                
                serializer.addObjects(results);
            }
                        
            em.close();            
        } finally {
            Thread.currentThread().setContextClassLoader(contextClassLoader);
        }
        serializer.serialize(System.out);        
    }