code: public static BigtableDataSettings createBigtableDataSettings(
        @Nonnull final BigtableOptions options) throws IOException {
      checkState(options.getRetryOptions().enableRetries(), "Disabling retries is not currently supported.");
      checkState(!options.useCachedChannel(), "cachedDataPool is not currently supported.");
  
      final BigtableDataSettings.Builder builder = BigtableDataSettings.newBuilder();
      final Builder dataSettingStub =  builder.stubSettings();
      Duration shortRpcTimeoutMs = ofMillis(options.getCallOptionsConfig().getShortRpcTimeoutMs());
  
      builder
          .setProjectId(options.getProjectId())
          .setInstanceId(options.getInstanceId())
          .setAppProfileId(options.getAppProfileId());
  
      dataSettingStub
          .setEndpoint(options.getDataHost() + ":" + options.getPort())
          .setHeaderProvider(buildHeaderProvider(options.getUserAgent()))
          .setCredentialsProvider(buildCredentialProvider(options.getCredentialOptions()));
  
      if(options.usePlaintextNegotiation()){
        dataSettingStub
            .setTransportChannelProvider(buildChannelProvider(dataSettingStub.getEndpoint(), options));
      }
  
      // Configuration for rpcTimeout & totalTimeout for non-streaming operations.
      dataSettingStub.checkAndMutateRowSettings()
          .setSimpleTimeoutNoRetries(shortRpcTimeoutMs);
  
      dataSettingStub.readModifyWriteRowSettings()
          .setSimpleTimeoutNoRetries(shortRpcTimeoutMs);
  
      buildBulkMutationsSettings(dataSettingStub, options);
  
      buildReadRowsSettings(dataSettingStub, options);
  
      buildReadRowSettings(dataSettingStub, options);
  
      buildMutateRowSettings(dataSettingStub, options);
  
      buildSampleRowKeysSettings(dataSettingStub, options);
  
      return builder.build();
    }
docs: To create an instance of {@link BigtableDataSettings} from {@link BigtableOptions}.
  
  @param options a {@link BigtableOptions} object.
  @return a {@link BigtableDataSettings} object.
  @throws IOException if any.