Analysing Object Type Hierarchies to Identify Crosscutting Concerns