code: private IndexSession getSession(String index, String... columns) throws PersistenceException {
  		IndexSession session = null;
  		String sessionKey = index + Arrays.hashCode(columns); // both index and columns play a role in opening a session
  		
  		try {
  			if (hsClient == null) {
  				hsClient = new HSClientImpl(handlerSocketHost, port, poolSize);
  			}
  			session = indexSessions.get(sessionKey);
  			
  			if (session == null) {
  				session = hsClient.openIndexSession(database, this.getSqlNameForClassName(getEntityClassName()),
  						index, columns);
  				
  				indexSessions.put(sessionKey, session);
  			}
  			return session;
  		} catch (Exception e) {
  			throw new PersistenceException(e);
  		} 
  	}
docs: Opens a connection and a session to a HandlerSocket server.  Specify the table's index to
  hit as well as the columns you want.  A common index is PRIMRY - for the primary
  key.  You may also have a multi-column key named NAME_EMAIL with columns (`name`,`email`).