code: public InsertAllResponse insert(
        Iterable<InsertAllRequest.RowToInsert> rows,
        boolean skipInvalidRows,
        boolean ignoreUnknownValues)
        throws BigQueryException {
      InsertAllRequest request =
          InsertAllRequest.newBuilder(getTableId(), rows)
              .setSkipInvalidRows(skipInvalidRows)
              .setIgnoreUnknownValues(ignoreUnknownValues)
              .build();
      return bigquery.insertAll(request);
    }
docs: Insert rows into the table.
  
  <p>Streaming inserts reside temporarily in the streaming buffer, which has different
  availability characteristics than managed storage. Certain operations do not interact with the
  streaming buffer, such as {@link #list(TableDataListOption...)} and {@link #copy(TableId,
  JobOption...)}. As such, recent streaming data will not be present in the destination table or
  output.
  
  <p>Example of inserting rows into the table, ignoring invalid rows.
  
  <pre>{@code
  String rowId1 = "rowId1";
  String rowId2 = "rowId2";
  List<RowToInsert> rows = new ArrayList<>();
  Map<String, Object> row1 = new HashMap<>();
  row1.put("stringField", 1);
  row1.put("booleanField", true);
  Map<String, Object> row2 = new HashMap<>();
  row2.put("stringField", "value2");
  row2.put("booleanField", false);
  rows.add(RowToInsert.of(rowId1, row1));
  rows.add(RowToInsert.of(rowId2, row2));
  InsertAllResponse response = table.insert(rows, true, true);
  // do something with response
  }</pre>
  
  @param rows rows to be inserted
  @param skipInvalidRows whether to insert all valid rows, even if invalid rows exist. If not set
  the entire insert operation will fail if rows to be inserted contain an invalid row
  @param ignoreUnknownValues whether to accept rows that contain values that do not match the
  schema. The unknown values are ignored. If not set, rows with unknown values are considered
  to be invalid
  @throws BigQueryException upon failure