@Override public List<SQLBindings> getSQL() { if (batches.isEmpty()) { SQLSerializer serializer = createSerializer(); serializer.serializeInsert(metadata, entity, columns, values, subQuery); return ImmutableList.of(createBindings(metadata, serializer)); } else { ImmutableList.Builder<SQLBindings> builder = ImmutableList.builder(); for (SQLInsertBatch batch : batches) { SQLSerializer serializer = createSerializer(); serializer.serializeInsert(metadata, entity, batch.getColumns(), batch.getValues(), batch.getSubQuery()); builder.add(createBindings(metadata, serializer)); } return builder.build(); } }