code: public Job copy(TableId destinationTable, JobOption... options) throws BigQueryException {
      CopyJobConfiguration configuration = CopyJobConfiguration.of(destinationTable, getTableId());
      return bigquery.create(JobInfo.of(configuration), options);
    }
docs: Starts a BigQuery Job to copy the current table to the provided destination table. Returns the
  started {@link Job} object.
  
  <p>Example copying the table to a destination table.
  
  <pre>{@code
  String dataset = "my_dataset";
  String tableName = "my_destination_table";
  TableId destinationId = TableId.of(dataset, tableName);
  JobOption options = JobOption.fields(JobField.STATUS, JobField.USER_EMAIL);
  Job job = table.copy(destinationId, options);
  // Wait for the job to complete.
  try {
  Job completedJob = job.waitFor(RetryOption.initialRetryDelay(Duration.ofSeconds(1)),
  RetryOption.totalTimeout(Duration.ofMinutes(3)));
  if (completedJob != null && completedJob.getStatus().getError() == null) {
  // Job completed successfully.
  } else {
  // Handle error case.
  }
  } catch (InterruptedException e) {
  // Handle interrupted wait
  }
  }</pre>
  
  @param destinationTable the destination table of the copy job
  @param options job options
  @throws BigQueryException upon failure