code: public ShardingConfiguration load() throws IOException {
          Collection<String> schemaNames = new HashSet<>();
          YamlProxyServerConfiguration serverConfig = loadServerConfiguration(new File(ShardingConfigurationLoader.class.getResource(CONFIG_PATH + SERVER_CONFIG_FILE).getFile()));
          File configPath = new File(ShardingConfigurationLoader.class.getResource(CONFIG_PATH).getFile());
          Collection<YamlProxyRuleConfiguration> ruleConfigurations = new LinkedList<>();
          for (File each : findRuleConfigurationFiles(configPath)) {
              Optional<YamlProxyRuleConfiguration> ruleConfig = loadRuleConfiguration(each, serverConfig);
              if (ruleConfig.isPresent()) {
                  Preconditions.checkState(schemaNames.add(ruleConfig.get().getSchemaName()), "Schema name `%s` must unique at all rule configurations.", ruleConfig.get().getSchemaName());
                  ruleConfigurations.add(ruleConfig.get());
              }
          }
          Preconditions.checkState(!ruleConfigurations.isEmpty() || null != serverConfig.getOrchestration(), "Can not find any sharding rule configuration file in path `%s`.", configPath.getPath());
          Map<String, YamlProxyRuleConfiguration> ruleConfigurationMap = new HashMap<>(ruleConfigurations.size(), 1);
          for (YamlProxyRuleConfiguration each : ruleConfigurations) {
              ruleConfigurationMap.put(each.getSchemaName(), each);
          }
          return new ShardingConfiguration(serverConfig, ruleConfigurationMap);
      }
docs: Load configuration of Sharding-Proxy.
  
  @return configuration of Sharding-Proxy
  @throws IOException IO exception