function(avoidHiddenFields) {
      var field,
          fieldName,
          newValue,
          focusedElement = document.querySelector(":focus"),
          fields         = this.container.querySelectorAll(SELECTOR_FIELDS),
          length         = fields.length,
          i              = 0;
      for (; i<length; i++) {
        field = fields[i];
        
        // Never change elements where the user is currently typing in
        if (field === focusedElement) {
          continue;
        }
        
        // Don't update hidden fields
        // See https://github.com/xing/wysihtml5/pull/14
        if (avoidHiddenFields && field.type === "hidden") {
          continue;
        }
        
        fieldName = field.getAttribute(ATTRIBUTE_FIELDS);
        newValue  = this.elementToChange ? (this.elementToChange[fieldName] || "") : field.defaultValue;
        field.value = newValue;
      }
    }
function(avoidHiddenFields) {
      var field,
          fieldName,
          newValue,
          focusedElement = document.querySelector(":focus"),
          fields         = this.container.querySelectorAll(SELECTOR_FIELDS),
          length         = fields.length,
          i              = 0;
      for (; i<length; i++) {
        field = fields[i];
        
        
        if (field === focusedElement) {
          continue;
        }
        
        
        
        if (avoidHiddenFields && field.type === "hidden") {
          continue;
        }
        
        fieldName = field.getAttribute(ATTRIBUTE_FIELDS);
        newValue  = this.elementToChange ? (this.elementToChange[fieldName] || "") : field.defaultValue;
        field.value = newValue;
      }
    }
function ( avoidHiddenFields ) { var field , fieldName , newValue , focusedElement = document . querySelector ( ":focus" ) , fields = this . container . querySelectorAll ( SELECTOR_FIELDS ) , length = fields . length , i = 0 ; for ( ; i < length ; i ++ ) { field = fields [ i ] ; // Never change elements where the user is currently typing in if ( field === focusedElement ) { continue ; } // Don't update hidden fields // See https://github.com/xing/wysihtml5/pull/14 if ( avoidHiddenFields && field . type === "hidden" ) { continue ; } fieldName = field . getAttribute ( ATTRIBUTE_FIELDS ) ; newValue = this . elementToChange ? ( this . elementToChange [ fieldName ] || "" ) : field . defaultValue ; field . value = newValue ; } }
Takes the attributes of the "elementToChange"
and inserts them in their corresponding dialog input fields

Assume the "elementToChange" looks like this:
<a href="http://www.google.com" target="_blank">foo</a>

and we have the following dialog:
<input type="text" data-wysihtml5-dialog-field="href" value="">
<input type="text" data-wysihtml5-dialog-field="target" value="">

after calling _interpolate() the dialog will look like this
<input type="text" data-wysihtml5-dialog-field="href" value="http://www.google.com">
<input type="text" data-wysihtml5-dialog-field="target" value="_blank">

Basically it adopted the attribute values into the corresponding input fields
Takes the attributes of the elementToChange and inserts them in their corresponding dialog input fields