Velocity templates should be called for ascenedant primary types

Fix for: https://www.pivotaltracker.com/s/projects/684825/stories/79207804
And please strongly consider using the more concise and understandable Guava [Iterables.getFirst()](http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Iterables.html#getFirst(java.lang.Iterable, T)).