docs: public Hashtable<String,Database> getDatabaseList(int iDatabaseType)
      {
          String strDbPrefix = this.getDatabasePrefix(iDatabaseType);
          iDatabaseType = iDatabaseType & DBConstants.TABLE_MASK;
          if ((iDatabaseType & DBConstants.TABLE_TYPE_MASK) == DBConstants.REMOTE)
              if (this.getProperty(DBParams.LOCAL) != null)
                  if (this.getProperty(DBParams.LOCAL).equals(this.getProperty(DBParams.REMOTE)))
                      iDatabaseType = (iDatabaseType & ~DBConstants.TABLE_TYPE_MASK) | DBConstants.LOCAL;  // Local and Remote use the same database
          if ((iDatabaseType & DBConstants.TABLE_TYPE_MASK) == DBConstants.TABLE)
              if (this.getProperty(DBParams.LOCAL) != null)
                  if (this.getProperty(DBParams.LOCAL).equals(this.getProperty(DBParams.TABLE)))
                      iDatabaseType = (iDatabaseType & ~DBConstants.TABLE_TYPE_MASK) | DBConstants.LOCAL;  // Local and Table use the same database
          if (iDatabaseType == DBConstants.SCREEN)
              iDatabaseType = (iDatabaseType & ~DBConstants.TABLE_TYPE_MASK) | DBConstants.LOCAL;  // Local and Screen use the same database
          if ("Mapped".equalsIgnoreCase(strDbPrefix))
              iDatabaseType = DBConstants.INTERNAL_MAPPED;
          
          if (m_htDatabaseList[iDatabaseType] == null)
              m_htDatabaseList[iDatabaseType] = new Hashtable<String,Database>();
          return m_htDatabaseList[iDatabaseType];
      }