understanding the template method pattern 6197250