Add throws declaration support to method signature.
Factorize createSubcontext in TypeWriter to avoid code duplication
Merge pull request #119 from tbroyer/create-subcontext

Factorize createSubcontext in TypeWriter to avoid code duplication
Factorize function to extract referencedClasses out of HasClassReferences
Merge branch 'referencedclasses' of https://github.com/tbroyer/javawriter into tbroyer-referencedclasses
Merge pull request #117 from square/jw/method-throws

Add throws declaration support to method signature.
Do not apply indent on empty lines.

This manifested when BlockWriter had no Snippets to contribute but appended a trailing newline. The resulting code had trailing indent whitespace on after the open curly brace.

    public Foo() { // <-- trailing whitespace was here
    }

This change makes BlockWriter only responsible for the Snippets inside of a block. The parent type (MethodWriter and ConstructorWriter) are responsible for the newlines before and after, if needed.