protected virtual string ProductListToHtmlTable(Order order, int languageId)
But a bit lower there is one line of code:
if (!String.IsNullOrEmpty(opv.ProductVariant.GetLocalized(x => x.Name)))
This in turn will try to get the languageId from the work context. In my case, this is a task and the context is a "fake context", which will cause a lot of notimplementedexceptions...