}
public AttributeColumn booleanLogicOperationsMerge(AttributeTable table, AttributeColumn[] columnsToMerge, BooleanOperations[] booleanOperations, String newColumnTitle) {
AttributeUtils attributeUtils = AttributeUtils.getDefault();
AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class);
if (table == null || columnsToMerge == null || !attributeUtils.areAllColumnsOfType(columnsToMerge, AttributeType.BOOLEAN) || booleanOperations == null || booleanOperations.length != columnsToMerge.length - 1) {
throw new IllegalArgumentException("All columns have to be boolean columns, table, columns or operations can't be null and operations length must be columns length -1");
}
AttributeColumn newColumn;
newColumn = ac.addAttributeColumn(table, newColumnTitle, AttributeType.BOOLEAN);