 		
 		private var _service:WeaveDataServlet = null;
 		private var _tablePromiseCache:Object;
+		private var _proxyPromiseCache:Dictionary;
 		private var _entityCache:EntityCache = null;
 		public const url:LinkableString = newLinkableChild(this, LinkableString);
 		public const hierarchyURL:LinkableString = newLinkableChild(this, LinkableString);

						
						setRecords(tableData.derived_qkeys);
					});
				}
			}
			catch (e:Error)

						var getTablePromise:WeavePromise = new WeavePromise(_service)
							.then(function(..._):AsyncToken {
								return _service.getTable(result.tableId, sqlParams);
							});
						
						var keyStrings:Array;
						promise = getTablePromise
