public Object getAsActualType(String s) throws PropertyException {
   if (s.equals("email")) {
     return user.getEmail();
   } else if (s.equals("fullName")) {
     return user.getName();
   } else {
     return ps.getAsActualType(s);
   }
 }
  public Map<String, String> convertUserPrefs(final PropertySet propertySet) {
    @SuppressWarnings("unchecked")
    final Collection<String> keys = propertySet.getKeys();
    final Map<String, String> ret = new LinkedHashMap<String, String>();
    for (String key : keys) {
      final int type = propertySet.getType(key);
      String value;
      if (type == PropertySet.STRING) {
        value = propertySet.getString(key);
      } else {
        // if the value wasn't a string (very unlikely with portletconfigs) then call the toString()
        // method
        // on the object returned.
        final Object o = propertySet.getAsActualType(key);
        value = o == null ? null : o.toString();
      }

      if (value != null && value.contains(PORTLET_MULTI_VALUE_SEPARATOR)) {
        value = convertMultiSelectValue(value);
      }
      ret.put(key, value);
    }
    return ret;
  }