Я не знаю, что делает этот метод или где установлена модель данных, однако мне кажется, что вы передаете всю модель данных, так что это объясняет, почему в каждом файле есть вся модель данных.
tpl.process(datamodel, writer); // does what, with what?
Что вы видите, когда отлаживаете код?