Fix for using withCopyMethod together with withGenerationGap

When using withCopyMethod together with withGenerationGap the generated builder does not compile, as it returns this in the copy method, which is of course an instance of the abstract builder and not an instance of the builder. Instead, we return now self, which fixes that problem.