public boolean isBetweenColumns( final AttributeGroup attributeGroup,
			final CellKeyColumn lowerColumn, final CellKeyColumn upperColumn) {
		if ( lowerColumn.isSuperColumn() || upperColumn.isSuperColumn()) {
			return true;
		}
		final Integer lowerIndex = lowerColumn.getIndexInColumnList(attributeGroup, true);
		if ( lowerIndex == null) {
			return false;
		}
		final Integer upperIndex = upperColumn.getIndexInColumnList(attributeGroup, true);
		if ( upperIndex == null) {
			return false;
		}
		if ( lowerIndex > upperIndex) {
			return false;
		}
		
		CellKeyColumn thisColumn = new CellKeyColumn( CellKey.removeArrays( getAttributeName()), false);
		final Integer thisIndex = thisColumn.getIndexInColumnList(attributeGroup, true);
		if ( thisIndex == null) {
			return false;
		}
		return (lowerIndex <= thisIndex) && (thisIndex <= upperIndex);
	}