code: public DataSource getDataSource() throws ConfigurationException {
          if (mDataSource == null) {
              if (mDriverClassName != null && mURL != null) {
                  try {
                      mDataSource = new SimpleDataSource
                          (mDriverClassName, mURL, mUsername, mPassword);
                  } catch (SQLException e) {
                      Throwable cause = e.getCause();
                      if (cause == null) {
                          cause = e;
                      }
                      throw new ConfigurationException(cause);
                  }
              }
          }
  
          DataSource ds = mDataSource;
          if (getDataSourceLogging() && !(ds instanceof LoggingDataSource)) {
              ds = LoggingDataSource.create(ds);
          }
  
          return ds;
      }
docs: Returns the source of JDBC connections, which defaults to a non-pooling
  source if driver class, driver URL, username, and password are all
  supplied.
  
  @throws ConfigurationException if driver class wasn't found