code: public acolyte.jdbc.Connection connect(final String url, 
                                             final Properties info) 
          throws SQLException {
  
          if (!acceptsURL(url)) {
              return null;
          } // end of if
          
          final String[] parts = url.substring(url.lastIndexOf("?")+1).split("&");
          String h = null;
  
          for (final String p : parts) {
              if (p.startsWith("handler=")) {
                  h = p.substring(8);
                  break;
              } // end of if
          } // end of for
  
          if (h == null || h.length() == 0) {
              throw new IllegalArgumentException("Invalid handler ID: " + h);
          } // end of if
  
          final String id = h;
          final ConnectionHandler handler = handlers.get(id);
  
          if (handler == null) {
              throw new IllegalArgumentException("No matching handler: " + id);
          } // end of if
  
          // ---
  
          return new acolyte.jdbc.Connection(url, info, handler);
      }
docs: {@inheritDoc}
  @throws IllegalArgumentException if |info| doesn't contain handler
  (ConnectionHandler) for property "connection.handler".