code: function() {
          var draw = OpenLayers.Tile.Image.prototype.shouldDraw.call(this);
          if(draw) {
  
              // this.url isn't set to the currect value yet, so we call getURL
              // on the layer and store the result in a local variable
              var url = this.layer.getURL(this.bounds);
  
              var usedIFrame = this.useIFrame;
              this.useIFrame = this.maxGetUrlLength !== null &&
                               !this.layer.async &&
                               url.length > this.maxGetUrlLength;
  
              var fromIFrame = usedIFrame && !this.useIFrame;
              var toIFrame = !usedIFrame && this.useIFrame;
  
              if(fromIFrame || toIFrame) {
  
                  // Switching between GET (image) and POST (iframe).
  
                  // We remove the imgDiv (really either an image or an iframe)
                  // from the frame and set it to null to make sure initImage
                  // will call getImage.
  
                  if(this.imgDiv && this.imgDiv.parentNode === this.frame) {
                      this.frame.removeChild(this.imgDiv);
                  }
                  this.imgDiv = null;
  
                  // And if we had an iframe we also remove the event pane.
  
                  if(fromIFrame) {
                      this.frame.removeChild(this.frame.firstChild);
                  }
              }
          }
          return OpenLayers.Tile.Image.prototype.draw.apply(this, arguments);
      }
docs: Method: draw
  Set useIFrame in the instance, and operate the image/iframe switch.
  Then call Tile.Image.draw.
  
  Returns:
  {Boolean}