private void createProperty(
     IfcWindow window, ClientIfcModel model, String name, String description, Object value)
     throws IfcModelInterfaceException {
   IfcRelDefinesByProperties ifcRelDefinesByProperties =
       model.create(IfcRelDefinesByProperties.class);
   window.getIsDefinedBy().add(ifcRelDefinesByProperties);
   IfcPropertySet propertySet = model.create(IfcPropertySet.class);
   ifcRelDefinesByProperties.setRelatingPropertyDefinition(propertySet);
   IfcPropertySingleValue property = model.create(IfcPropertySingleValue.class);
   propertySet.getHasProperties().add(property);
   property.setName(name);
   property.setDescription(description);
   if (value instanceof Boolean) {
     IfcBoolean ifcValue = model.create(IfcBoolean.class);
     ifcValue.setWrappedValue(((Boolean) value) ? Tristate.TRUE : Tristate.FALSE);
     property.setNominalValue(ifcValue);
   } else {
     // Unimplemented
   }
 }