if (parent instanceof OrQueryNode) {
if (node instanceof ModifierQueryNode) {
ModifierQueryNode modNode = (ModifierQueryNode) node;
if (modNode.getModifier() == Modifier.MOD_REQ) {
return modNode.getChild();
}
}
} else {
if (node instanceof ModifierQueryNode) {
ModifierQueryNode modNode = (ModifierQueryNode) node;
if (modNode.getModifier() == Modifier.MOD_NONE) {
return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ);
}
} else {
return new BooleanModifierNode(node, Modifier.MOD_REQ);
}
}
} else {
if (node.getParent() instanceof AndQueryNode) {
if (node instanceof ModifierQueryNode) {
ModifierQueryNode modNode = (ModifierQueryNode) node;
if (modNode.getModifier() == Modifier.MOD_NONE) {
return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ);
}
} else {
return new BooleanModifierNode(node, Modifier.MOD_REQ);
}