code: public ServiceInstance cloneSession(boolean ignoreCert) throws InvalidLogin, RuntimeFault, RemoteException, MalformedURLException {
          ServiceInstance oldsi = getServerConnection().getServiceInstance();
          ServerConnection oldsc = oldsi.getServerConnection();
          String ticket = oldsi.getSessionManager().acquireCloneTicket();
  
          VimPortType vimService = new VimPortType(oldsc.getUrl().toString(), ignoreCert);
          vimService.getWsc().setVimNameSpace(oldsc.getVimService().getWsc().getVimNameSpace());
          vimService.getWsc().setSoapActionOnApiVersion(oldsi.getAboutInfo().getApiVersion());
  
          ServerConnection newsc = new ServerConnection(oldsc.getUrl(), vimService, null);
          ServiceInstance newsi = new ServiceInstance(newsc);
          newsc.setServiceInstance(newsi);
  
          UserSession userSession = newsi.getSessionManager().cloneSession(ticket);
          newsc.setUserSession(userSession);
          return newsi;
      }
docs: Copyright 2009 NetApp, contribution by Eric Forgette
  Modified by Steve Jin (sjin@vmware.com)
  <p>
  This constructor builds a new ServiceInstance based on a ServiceInstance.
  The new ServiceInstance is effectively a clone of the first.  This clone will
  NOT become invalid when the first is logged out.
  
  @throws RemoteException
  @throws RuntimeFault
  @throws InvalidLogin
  @throws MalformedURLException
  @author Eric Forgette (forgette@netapp.com)