protected override void finish()
        {
            if (!(getNavigationCommandJSONKey().Equals("NavigationNotUnderstoodCommand")))
            {
                throw new Exception("The key field has a value other than `NavigationNotUnderstoodCommand'.");
            }
            NavigationNotUnderstoodCommandJSON result = new NavigationNotUnderstoodCommandJSON();

            Debug.Assert(result != null);
            finish(result);
            handle_result(result);
        }
 protected override void handle_result(NavigationNotUnderstoodCommandJSON result)
 {
     top.value.Add(result);
 }
        protected override void handle_result(NavigationNotUnderstoodCommandJSON result)
        {
//@@@            Debug.Assert(!have_value);
            have_value = true;
            value      = result;
        }
 protected abstract void handle_result(NavigationNotUnderstoodCommandJSON new_result);
 protected void finish(NavigationNotUnderstoodCommandJSON result)
 {
     base.finish(result);
 }