public Feature getRequiredFeatureDE(Type t, String s, String rangeName, boolean featOkTst) {
Feature f = t.getFeatureByBaseName(s);
Type rangeType = this.getTypeSystem().getType(rangeName);
if (null == f && !featOkTst) {
CASException casEx = new CASException(CASException.JCAS_FEATURENOTFOUND_ERROR, new String[] {
t.getName(), s });
sharedView.errorSet.add(casEx);
}
if (null != f)
try {
casImpl.checkTypingConditions(t, rangeType, f);
} catch (LowLevelException e) {
CASException casEx = new CASException(CASException.JCAS_FEATURE_WRONG_TYPE, new String[] {
t.getName(), s, rangeName, f.getRange().toString() });
sharedView.errorSet.add(casEx);
}
return f;
}