code: public CheckRequest asCheckRequest(Clock clock) {
      Preconditions.checkState(!Strings.isNullOrEmpty(getServiceName()),
          "a service name must be set");
      Preconditions.checkState(!Strings.isNullOrEmpty(getOperationId()),
          "an operation ID must be set");
      Preconditions.checkState(!Strings.isNullOrEmpty(getOperationName()),
          "an operation name must be set");
      Operation.Builder b = super.asOperation(clock).toBuilder();
      b.putAllLabels(getSystemLabels());
  
      return CheckRequest.newBuilder().setServiceName(getServiceName()).setOperation(b).build();
    }
docs: Returns the {@link CheckRequest} instance corresponding to this instance.
  
  <p>
  The service name, operation ID and operation Name must all be set
  <p>
  
  @param clock is used to determine the current timestamp
  
  @return a {@link CheckRequest}
  @throws java.lang.IllegalStateException if any required values are not set when this is called.