protected CMISConnection createConnection(
      CMISServer server, String connectionId, boolean isShared) {
    Session session = createSession(server.getParameters());
    String username = server.getParameters().get(SessionParameter.USER);

    return new CMISConnectionImpl(this, connectionId, session, server, username, false, isShared);
  }
  public CMISServer createServerDefinition(CMISServer server, String username, String password) {
    if (server == null) {
      throw new IllegalArgumentException("Server must be set!");
    }

    Map<String, String> parameters = new HashMap<String, String>(server.getParameters());
    parameters.put(SessionParameter.USER, username);
    parameters.put(SessionParameter.PASSWORD, password);

    return new CMISServerImpl(server.getName(), server.getDescription(), parameters);
  }
  public List<Repository> getRepositories(CMISServer server) {
    if (server == null) {
      throw new IllegalArgumentException("Server must be set!");
    }

    return sessionFactory.getRepositories(new HashMap<String, String>(server.getParameters()));
  }