 	import weave.api.data.IDataSource;
 	import weave.api.data.IDataSource_Service;
 	import weave.api.data.IWeaveTreeNode;
-	import weave.api.detectLinkableObjectChange;
 	import weave.api.disposeObject;
 	import weave.api.getCallbackCollection;
 	import weave.api.getLinkableDescendants;

	import weave.data.AttributeColumns.ReferencedColumn;
	import weave.data.hierarchy.ColumnTreeNode;
	import weave.services.AMF3Servlet;
	import weave.services.JsonCache;
	import weave.services.WeaveRServlet;
	import weave.services.addAsyncResponder;
	import weave.utils.ColumnUtils;
	import weave.utils.VectorUtils;
	
	public class RDataSource extends AbstractDataSource implements IDataSource_Service
	{

				var keys:Array = VectorUtils.pluck(joined.shift() as Array, 'localName');
				var colMap:Object = {};
				for (var i:int = 0; i <  joined.length; i++)
					setChain(colMap, WeaveAPI.SessionManager.getPath(inputs, cols[i]), joined[i]);
				columnData[keyType] = {keys: keys, columns: colMap};
			}
			
