code: public static ShardingRouter newInstance(final ShardingRule shardingRule, final ShardingMetaData shardingMetaData, final DatabaseType databaseType, final ParsingResultCache parsingResultCache) {
          return HintManager.isDatabaseShardingOnly()
                  ? new DatabaseHintSQLRouter(shardingRule) : new ParsingSQLRouter(shardingRule, shardingMetaData, databaseType, parsingResultCache);
      }
docs: Create new instance of sharding router.
  
  @param shardingRule sharding rule
  @param shardingMetaData sharding meta data
  @param databaseType database type
  @param parsingResultCache parsing result cache
  @return sharding router instance