docs: public Map<String,Object> login(String strUserName, String strPassword, String strDomain) throws RemoteException
      {
          MainApplication app = (MainApplication)this.getApplication();
          int iErrorCode = app.login(this, strUserName, strPassword, strDomain);
          if (iErrorCode != DBConstants.NORMAL_RETURN)
              throw new RemoteException(this.getLastError(iErrorCode));
          Map<String,Object> mapReturnParams = new HashMap<String,Object>();
          mapReturnParams.put(Params.SECURITY_MAP, app.getProperty(Params.SECURITY_MAP));
          Map<String,Object>userProperties = new HashMap<String,Object>();
          if (app.getSystemRecordOwner().getProperties() != null)
              userProperties.putAll(app.getSystemRecordOwner().getProperties());
          else
          {   // Never
              userProperties.put(DBParams.USER_NAME, this.getProperty(DBParams.USER_NAME));
              userProperties.put(DBParams.USER_ID, this.getProperty(DBParams.USER_ID));
          }
          if (this.getProperty(DBParams.AUTH_TOKEN) != null)
              userProperties.put(DBParams.AUTH_TOKEN, this.getProperty(DBParams.AUTH_TOKEN));
          if (userProperties.get(DBParams.JAVA) != null)
              userProperties.put("javaApplet", userProperties.get(DBParams.JAVA));    // "java" is a reserved word in js
          mapReturnParams.put(Params.USER_PROPERTIES, userProperties);        
          return mapReturnParams;
      }