code: public static List<Connector> createDefaultConnectors(Map<String, Object> properties) {
          List<Connector> connectors = Lists.newArrayList();
          Map<String, Map<String, String>> propertiesMap = Maps.newLinkedHashMap();
          for (String key : properties.keySet()) {
              if (key.startsWith(Connector.CONNECTOR_CONF_PREFIX)) {
                  String oKey = key;
                  key = key.substring(Connector.CONNECTOR_CONF_PREFIX.length());
                  int index = key.indexOf(".");
                  if (index == -1) {
                      throw new ConfigErrorException("connector configure error, format connector.{connectorName}.{property}");
                  }
                  String name = key.substring(0, index);
                  Map<String, String> pr = propertiesMap.get(name);
                  if (pr == null) {
                      pr = Maps.newLinkedHashMap();
                      propertiesMap.put(name, pr);
                      pr.put("name", name);
                  }
                  pr.put(key.substring(index + 1), String.valueOf(properties.get(oKey)));
              }
          }
  
          connectors.addAll(propertiesMap.values().stream().map(Connector::createDefault).collect(Collectors.toList()));
          return connectors;
      }
docs: <p>createDefaultConnectors.</p>
  
  @param properties a {@link java.util.Map} object.
  @return a {@link java.util.List} object.