sclass CombinedStringifier is IStringifier {
new CopyOnWriteArrayList> stringifiers;
IStringifier defaultStringifier = new Stringifier_ToString;
*(IPartialStringifier... stringifiers) {
addAll(this.stringifiers, stringifiers);
}
public S toString(A o) {
for (stringifier : stringifiers) {
S s = stringifier.toStringOpt(o);
if (s != null) ret s;
}
ret defaultStringifier.toString(o);
}
toString {
ret formatFunctionCall CombinedStringifier(
listPlus((L) stringifiers, defaultStringifier)
);
}
}