code: @SuppressWarnings("WeakerAccess")
    public ApiFuture<Instance> createInstanceAsync(CreateInstanceRequest request) {
      return ApiFutures.transform(
          stub.createInstanceOperationCallable().futureCall(request.toProto(projectId)),
          new ApiFunction<com.google.bigtable.admin.v2.Instance, Instance>() {
            @Override
            public Instance apply(com.google.bigtable.admin.v2.Instance proto) {
              return Instance.fromProto(proto);
            }
          },
          MoreExecutors.directExecutor());
    }
docs: Asynchronously creates a new instance and returns its representation wrapped in a future.
  
  <p>Sample code:
  
  <pre>{@code
  ApiFuture<Instance> instanceFuture = client.createInstanceAsync(
  CreateInstanceRequest.of("my-instance")
  .addCluster("my-cluster", "us-east1-c", 3, StorageType.SSD)
  );
  
  Instance instance = instanceFuture.get();
  }</pre>
  
  @see CreateInstanceRequest for details.