code: @Override
  	public void registerPropertySet(Class type, String propertyView, PropertyKey... propertySet) {
  
  		Map<String, Set<PropertyKey>> propertyViewMap = getPropertyViewMapForType(type);
  		Set<PropertyKey> properties = propertyViewMap.get(propertyView);
  
  		if (properties == null) {
  			properties = new LinkedHashSet<>();
  			propertyViewMap.put(propertyView, properties);
  		}
  
  		// allow properties to override existing ones as they
  		// are most likely from a more concrete class.
  		for (final PropertyKey key : propertySet) {
  
  			// property keys are referenced by their names,
  			// that's why we seemingly remove the existing
  			// key, but the set does not differentiate
  			// between different keys
  			if (properties.contains(key)) {
  				properties.remove(key);
  			}
  
  			properties.add(key);
  		}
  	}
docs: Registers the given set of property keys for the view with name
  <code>propertyView</code> and the given prefix of entities with the
  given type.
  
  @param type the type of the entities for which the view will be
  registered
  @param propertyView the name of the property view for which the
  property set will be registered
  @param propertySet the set of property keys to register for the given
  view