code: private void extractOptions(URI dsnUri) {
          String query = dsnUri.getQuery();
          if (query == null || query.isEmpty()) {
              return;
          }
          for (String optionPair : query.split("&")) {
              try {
                  String[] pairDetails = optionPair.split("=");
                  String key = URLDecoder.decode(pairDetails[0], "UTF-8");
                  String value = pairDetails.length > 1 ? URLDecoder.decode(pairDetails[1], "UTF-8") : null;
                  options.put(key, value);
              } catch (UnsupportedEncodingException e) {
                  throw new IllegalArgumentException("Impossible to decode the query parameter '" + optionPair + "'", e);
              }
          }
      }
docs: Extracts the DSN options from the DSN provided as an {@code URI}.
  
  @param dsnUri DSN as an URI.