Better code analysis of methods to see when they are empty

Fixes #492