code: public ApplicationSession openApplication(String appName) {
          Utils.require(!Utils.isEmpty(appName), "appName");
          Utils.require(!m_restClient.isClosed(), "Client has been closed");
          
          ApplicationDefinition appDef = getAppDef(appName);
          Utils.require(appDef != null, "Unknown application: %s", appName);
          RESTClient newRestClient = new RESTClient(m_restClient);
          return Client.openApplication(appDef, newRestClient);
      }
docs: Open the application with the given name, returning an {@link ApplicationSession}
  through which the application can be accessed. An exception is thrown if the given
  application is unknown or cannot be accessed. If successful, the session object
  will be specific to the type of application opened, and it will have its own
  REST session to the Doradus server.
  
  @param appName   Name of an application in the connected Doradus database.
  @return          {@link ApplicationSession} through which the application can be
  accessed.
  @see   com.dell.doradus.client.OLAPSession
  @see   com.dell.doradus.client.SpiderSession