docs: public PreparedStatement getPreparedStatement(Q query, boolean useCaching) {
  
  		PreparedStatement pStatement = null;
  
  		if (useCaching) {
  			pStatement = cachedStatement.get();
  		}
  
  		if (pStatement == null) {
  			try {
  				RegularStatement stmt = getQueryGen(query).call();
  				if (LOG.isDebugEnabled()) {
  					LOG.debug("Query: " + stmt.getQueryString());
  				}
  				pStatement = sessionRef.get().prepare(stmt.getQueryString());
  			} catch (Exception e) {
  				throw new RuntimeException(e);
  			}
  		}
  
  		if (useCaching && cachedStatement.get() == null) {
  			cachedStatement.set(pStatement);
  		}
  		return pStatement;
  	}