 		private function validateKeyType():void
 		{
 			// make sure keyType is set
-			if (internalData.keyType == null)
+			if (internalData.transposedKeyType == null)
 			{
 				var owner:ILinkableHashMap = getLinkableOwner(this) as ILinkableHashMap;
-				internalData.keyType = owner ? owner.getName(this) : DataTypes.STRING;
+				internalData.transposedKeyType = owner ? owner.getName(this) : DataTypes.STRING;
 			}
 		}
 		

			var objects:Array = columns.getObjects();
			
			// update transposed keys to correspond to column names
			internalData.transposedKeys = WeaveAPI.QKeyManager.getQKeys(internalData.keyType, names);
			
			// update column lookup
			internalData.columnsArray = objects;
			for (var i:int = 0; i < names.length; i++)
				internalData.columnNameIndex[names[i]] = i;
			if (columns.childListCallbacks.lastNameRemoved)
				delete internalData.columnNameIndex[columns.childListCallbacks.lastNameRemoved];
			
			setColumnKeySources();
		}

		{
			// get union of original keys
			(filteredKeySet as FilteredKeySet).setColumnKeySources(
				VectorUtils.flatten(internalData.sourceColumnsArray, metadata.getObjects())
			);
		}
		
