synchronized processImport (String url, String importType) throws RuntimeException { InputStream stream = new URL(url).openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); String code; int i = 0; try { List buffer = new ArrayList<>(); while((code = reader.readLine()) != null) { try { buffer.add(new CodeDomainObject([code: code, used: false, type: importType])); if (i % 100 == 0) { CodeDomainObject.saveAll(buffer); buffer.clear(); } } catch (Exception ex) { println ("Save error:" + ex.getMessage()) } i++; } CodeDomainObject.saveAll(buffer); } catch (Exception ex) { throw ex; } finally { reader.close(); stream.close(); } }