protected void setHeaderColumn(int columnIndex, FactMapping factMapping, boolean editableHeaders) {
final FactIdentifier factIdentifier = factMapping.getFactIdentifier();
String columnId = factMapping.getExpressionIdentifier().getName();
String instanceTitle = factMapping.getFactAlias();
String propertyTitle = factMapping.getExpressionAlias();
String columnGroup = factMapping.getExpressionIdentifier().getType().name();
boolean isInstanceAssigned = isInstanceAssigned(factIdentifier);
boolean isPropertyAssigned = isPropertyAssigned(isInstanceAssigned, factMapping);
String placeHolder = getPlaceholder(isPropertyAssigned);
ScenarioGridColumn scenarioGridColumn = getScenarioGridColumnLocal(instanceTitle, propertyTitle, columnId, columnGroup, factMapping.getExpressionIdentifier().getType(), placeHolder);
scenarioGridColumn.setInstanceAssigned(isInstanceAssigned);
scenarioGridColumn.setPropertyAssigned(isPropertyAssigned);
scenarioGridColumn.setFactIdentifier(factIdentifier);
scenarioGridColumn.setEditableHeaders(editableHeaders);
if (FactMappingType.OTHER.equals(factMapping.getExpressionIdentifier().getType())) {
scenarioGridColumn.setColumnWidthMode(ColumnWidthMode.FIXED);
scenarioGridColumn.setMinimumWidth(scenarioGridColumn.getWidth());
}
((ScenarioGridModel) model).insertColumnGridOnly(columnIndex, scenarioGridColumn);
}