private Map<String, Object> getPropertyMap() {
      Token token = getModel();

      if (propertyMap == null) {
        propertyMap = new HashMap<String, Object>();

        List<com.t3.model.campaign.TokenProperty> propertyList = getPropertyList();
        for (com.t3.model.campaign.TokenProperty property : propertyList) {
          Object value = token.getProperty(property.getName());
          if (value == null) {
            value = property.getDefaultValue();
          }
          propertyMap.put(property.getName(), value);
        }
      }
      return propertyMap;
    }