throwAXIfNull(h_ashtable, "h_ashtable", sCNSTR);
ht = h_ashtable;
if(b_verifyHashtable) {
Enumeration e = keys();
VWInt vwi = new VWInt();
while(e.hasMoreElements()) {
String sKey = (String)e.nextElement();
UniqueString us = null;
try {
us = ((UniqueString)ht.get(sKey));
} catch(ClassCastException ccx) {
throwAX("constructor: h_ashtable.get(" + sKey + ") is not of type xbn.array.UniqueString. Currently, '" + ht.get(sKey).getClass().getName() + "'.");
}
if(!sKey.equals(us.getString())) {
throwAX("constructor: Key named '" + sKey + "' has a UniqueString object as its value, but UniqueString.getString() equals '" + us.getString() + "'. They must be equal.");
}
vwi.add(us.getUnqArrIdx());
}
PAIInt paii = new PAIInt(vwi.getAOInt(), (new PARIStrict()));
paii.crashIfBad("xbn.array.AOSLHashtable.constructor", "[The UniqueString.getUnqArrIdx() int values found in each UniqueString value in h_ashtable]");
int iMin = paii.getMinimum();
int iMax = paii.getMaximum();
if(iMin != 0) {