processThemePropertyChildren(element);
popObject();
storeType(pairType);
} else if (name.equals("fractionType")) {
FractionType fractionType = definitionsFactory.createFractionType();
pushObject(fractionType);
processThemePropertyChildren(element);
popObject();
storeType(fractionType);
} else if (name.equals("first")) {
TypeList typeList = new TypeList();
NameHolder nameHolder = new NameHolder();
pushObject(typeList);
pushObject(nameHolder);
processThemePropertyChildren(element);
popObject();
popObject();
if (!typeList.getList().isEmpty()) {
PairType pair = (PairType) findObject(PairType.class);
pair.setFirst((Type) typeList.getList().get(0));
}
} else if (name.equals("second")) {
TypeList typeList = new TypeList();
NameHolder nameHolder = new NameHolder();
pushObject(typeList);
pushObject(nameHolder);
processThemePropertyChildren(element);
popObject();
popObject();
if (!typeList.getList().isEmpty()) {
PairType pair = (PairType) findObject(PairType.class);
pair.setSecond((Type) typeList.getList().get(0));
}
} else if (name.equals("numerator")) {
TypeList typeList = new TypeList();
NameHolder nameHolder = new NameHolder();
pushObject(typeList);
pushObject(nameHolder);
processThemePropertyChildren(element);
popObject();
popObject();
if (!typeList.getList().isEmpty()) {
FractionType fraction = (FractionType) findObject(FractionType.class);
fraction.setNumerator((Type) typeList.getList().get(0));
}
} else if (name.equals("denominator")) {
TypeList typeList = new TypeList();
NameHolder nameHolder = new NameHolder();
pushObject(typeList);
pushObject(nameHolder);
processThemePropertyChildren(element);
popObject();
popObject();
if (!typeList.getList().isEmpty()) {
FractionType fraction = (FractionType) findObject(FractionType.class);
fraction.setDenominator((Type) typeList.getList().get(0));
}
}else if (name.equals("type")) {
// Process the children in order to find the keyword definitions.
processThemePropertyChildren(element);
} else if (name.equals("typeRef")) {