public PrimingRequest build() { if (query != null && queryPattern != null) { throw new IllegalStateException("Can't specify query and queryPattern"); } if (query == null && queryPattern == null) { throw new IllegalStateException("Must set either query or queryPattern for PrimingRequest"); } List<Consistency> consistencies = consistency == null ? null : Arrays.asList(consistency); if (then == null) { List<Map<String, ? extends Object>> rowsDefaultedToEmptyForSuccess = this.rows; if (result == Result.success && rows == null) { rowsDefaultedToEmptyForSuccess = Collections.emptyList(); } return new PrimingRequest(type, query, queryPattern, consistencies, rowsDefaultedToEmptyForSuccess, result, columnTypesMeta, variableTypesMeta, fixedDelay, config); } else { return new PrimingRequest(type, query, queryPattern, consistencies, then); } } }