@Override
public Object evaluate(final ASTStrReplaceFuncNode node, final Bindings b, final Map<Node, Object> d) throws NotBoundException, TypeErrorException {
final Object o = Helper.unlazy(this.resultOfChildZero(node, b, d));
if (o instanceof URILiteral || o instanceof AnonymousLiteral || Helper.isNumeric(o)) {
throw new TypeErrorException();
}
final String cmp = Helper.unquote(Helper.getContent(o));
String pattern = Helper.getString(this.resultOfChildOne(node, b, d));
final String replacement = Helper.getString(this.resultOfChildTwo(node, b, d));
String oldPattern;