Branching processes and their applications. (2016)