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 } }