fixed subclass-of-singleton problem in BasePreferences by using
reflection