code: function appendResult(expression, watchIndex, result, wasThrown)
          {
              if (!result)
                  return;
  
              var property = new WebInspector.RemoteObjectProperty(expression, result);
              property.watchIndex = watchIndex;
              property.wasThrown = wasThrown;
  
              // To clarify what's going on here:
              // In the outer function, we calculate the number of properties
              // that we're going to be updating, and set that in the
              // propertyCount variable.
              // In this function, we test to see when we are processing the
              // last property, and then call the superclass's updateProperties()
              // method to get all the properties refreshed at once.
              properties.push(property);
  
              if (properties.length == propertyCount) {
                  this.updateProperties(properties);
  
                  // check to see if we just added a new watch expression,
                  // which will always be the last property
                  if (this._newExpressionAdded) {
                      delete this._newExpressionAdded;
  
                      var treeElement = this.findAddedTreeElement();
                      if (treeElement)
                          treeElement.startEditing();
                  }
  
                  // Force displaying delete button for hovered element.
                  if (this._lastMouseMovePageY)
                      this._updateHoveredElement(this._lastMouseMovePageY);
              }
          }
docs: *
  @param {string} expression
  @param {number} watchIndex
  @param {?WebInspector.RemoteObject} result
  @param {boolean} wasThrown
  @this {WebInspector.WatchExpressionsSection}