Code Generation with Roslyn - Nick Harrison (Springer, 2017)