adds support for parsing/generating constructs with the right modifiers (e.g. public/protected/final/abstract etc.)