В Вашем примере не переопределяется никакая функция. Это вместо этого скрыто (это - своего рода ухудшившийся случай перегрузки). Ошибка находится в коде Дочернего класса. Как csmba предложенный, все, что можно сделать, изменяет параметры компилятора (если возможный); это должно быть прекрасным, пока Вы не пользуетесь сторонней библиотекой, которая скрывает ее собственные функции.
Чтобы получить StringBuffer за один шаг, вы можете использовать
def sb = 'Hello'<<''
или даже:
def sb = ''<<'' //4 single quotes, not double quotes
для изначально пустого.
Я думаю (но могу ошибаться) причина использования StringBuffer, а не StringBuilder, заключается в обеспечении совместимости с Java 1.4.