public int getInt(String privateCreator, int tag, VR vr, int valueIndex, int defVal) {
int index = indexOf(privateCreator, tag);
if (index < 0)
return defVal;
Object value = values[index];
if (value == Value.NULL)
return defVal;
if (vr == null)
vr = vrs[index];
else
updateVR(index, vr);
try {
value = loadBulkData(index);
if (vr == VR.IS)
value = decodeISValue(index);
return vr.toInt(value, bigEndian, valueIndex, defVal);
} catch (UnsupportedOperationException e) {
LOG.info("Attempt to access {} {} as int", TagUtils.toString(tag), vr);
return defVal;
} catch (IllegalArgumentException e) {
LOG.info("Invalid value of {} {}", TagUtils.toString(tag), vr);
return defVal;
}
}