gcc-4.7: disambiguate method in template by prefixing the call "this->"
return an object matching the prototype