added generic to getPreferences() to avoid typecasts in subclasses
force usage of base class in getPreferences()