} else if (action instanceof RemoveDuplicateAction) {
RemoveDuplicateAction a = (RemoveDuplicateAction) action;
String listExpr = a.getListExpr();
return name + listExpr + ")";
} else if (action instanceof UnmarkAllAction) {
UnmarkAllAction a = (UnmarkAllAction) action;
String verbalize = verbalizer.verbalize(a.getType());
String but = a.getList() == null ? "" : ", " + verbalizer.verbalize(a.getList());
return name + verbalize + but + ")";
} else if (action instanceof TrimAction) {
TrimAction a = (TrimAction) action;
TypeListExpression typeList = a.getTypeList();
String verbalize = "";
if (typeList != null) {
verbalize = verbalizer.verbalize(typeList);
} else if (a.getTypes() != null) {
verbalize = verbalizer.verbalizeExpressionList(a.getTypes());
}
return name + verbalize + ")";
} else if (action instanceof ImplicitMarkAction) {
ImplicitMarkAction a = (ImplicitMarkAction) action;
return verbalizer.verbalize(a.getType());
} else if (action instanceof ImplicitFeatureAction) {
ImplicitFeatureAction a = (ImplicitFeatureAction) action;
return verbalizer.verbalize(a.getExpr());
}
return action.getClass().getSimpleName();
}