docs: public static DataSource createDataSource(final Map<String, DataSource> dataSourceMap, final ShardingRuleConfiguration shardingRuleConfig,
                                                final Properties props, final OrchestrationConfiguration orchestrationConfig) throws SQLException {
          if (null == shardingRuleConfig || shardingRuleConfig.getTableRuleConfigs().isEmpty()) {
              return createDataSource(orchestrationConfig);
          }
          ShardingDataSource shardingDataSource = new ShardingDataSource(dataSourceMap, new ShardingRule(shardingRuleConfig, dataSourceMap.keySet()), props);
          return new OrchestrationShardingDataSource(shardingDataSource, orchestrationConfig);
      }