 	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;
+	import weave.utils.VectorUtils;
 	
 	public class RDataSource extends AbstractDataSource implements IDataSource_Service
 	{

	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;

				getSessionState(this)
			);
		}
		
		private function setChain(root:Object, property_chain:Array, value:Object):*
		{
			property_chain = [].concat(property_chain); // makes a copy and converts a single string into an array
			var last_property:String = property_chain.pop();
			for each (var prop:String in property_chain)
				root = root[prop] || (root[prop] = {});
			// if value not given, return current value
			if (arguments.length == 2)
				return root[last_property];
			// set the value and return it
			return root[last_property] = value;
		};

		
		private function handleScriptResult(event:ResultEvent, sessionState:Object):void
		{
