} // end of OnCancel() public override bool Refresh(List <UpdateObject> updateList, List <RenderObject> renderList) { bool result = false; if (state != pendingState) { if (pendingState == States.Active) { updateList.Add(updateObj); updateObj.Activate(); renderList.Add(renderObj); renderObj.Activate(); shared.Activate(); } else { shared.Deactivate(); renderObj.Deactivate(); renderList.Remove(renderObj); updateObj.Deactivate(); updateList.Remove(updateObj); } state = pendingState; } return(result); }