int genType = generalizedTypes[i]; if (_namesSize > 0) { if (genType < result.length) { result[genType] = (short)(i + DTM.NTYPES); } } else {
int genType = m_expandedNameTable.getExpandedTypeID(uris[i], names[i], types[i], true); if (genType >= 0 && genType < exLength) {
    public short[] getMapping(String[] names)    {        int i;        final int namesLength = names.length;        final int exLength = m_expandedNameTable.getSize();        int[] generalizedTypes = null;        if (namesLength > 0) {            generalizedTypes = new int[namesLength];        }              int resultLength = exLength;              for (i = 0; i < namesLength; i++) {            generalizedTypes[i] = getGeneralizedType(names[i]);            if (_namesSize == 0 && generalizedTypes[i] >= resultLength) {                resultLength = generalizedTypes[i] + 1;            }        }              final short[] result = new short[resultLength];        // primitive types map to themselves        for (i = 0; i < DTM.NTYPES; i++) {            result[i] = (short)i;        }                for (i = NTYPES; i < exLength; i++) {       	    result[i] = m_expandedNameTable.getType(i);      	}      	        // actual mapping of caller requested names        for (i = 0; i < namesLength; i++) {            int genType = generalizedTypes[i];                     if (_namesSize > 0) {                if (genType < result.length) {                    result[genType] = (short)(i + DTM.NTYPES);                }            }            else {                result[genType] = (short)(i + DTM.NTYPES);            }        }        return(result);    }