code: @Override
      public IClientSharedObject getSharedObject(String name, boolean persistent) {
          log.debug("getSharedObject name: {} persistent {}", new Object[] { name, persistent });
          ClientSharedObject result = sharedObjects.get(name);
          if (result != null) {
              if (result.isPersistent() != persistent) {
                  throw new RuntimeException("Already connected to a shared object with this name, but with different persistence.");
              }
              return result;
          }
          result = new ClientSharedObject(name, persistent);
          sharedObjects.put(name, result);
          return result;
      }
docs: Connect to client shared object.
  
  @param name
  Client shared object name
  @param persistent
  SO persistence flag
  @return Client shared object instance