anchor.diff:          refreshOptionsUrl: '<c:url value="${refreshablePath}"/>',
           refreshSnapshotsUrl: '<c:url value="${refreshSnapshotsPath}"/>',
           _lastImageId: 0,
  +        _imagesDataLength: 0,
  +        _dataKeys: [ 'vmName', 'snapshotName', 'cloneFolder', 'resourcePool', 'cloneBehaviour', 'maxInstances'],
           init: function () {
  -            this.imagesData = { length: 0 };
  +            this.imagesData = {};
               this.$fetchOptionsButton = $j('#vmwareFetchOptionsButton');
               this.$addImageButtons = $j('#vmwareAddImageButton');
  -            this.$options = $j('vmWareSphereOptions');
  +            this.$options = $j('.vmWareSphereOptions');
               this.$image = $j('#image');
               this.$snapshot = $j('#snapshot');
  -            this.$imagesTableWrapper = $j('.images-table-wrapper');
  +            this.$imagesTableWrapper = $j('.${imagesTableWrapperClass}');
               this.$imagesTable = $j("#vmware_images_list");
               this.$imagesDataElem = $j('#${cons.imagesData}');
               this.$fetchOptionsError = $j("#error_fetch_options");
  
positive.code: 
              if (this.validateOptions()) {
                  newImageId = this._lastImageId++;
                  newImage = [
                      this.$image.val(),
                      this._visibleValue(this.$snapshot),
                      this._visibleValue(this.$cloneFolder),
                      this._visibleValue(this.$resourcePool),
                      this.$cloneBehaviour.val(),
                      this._visibleValue(this.$maxInstances)
                  ];
                  this._renderImageRow.apply(this, newImage.concat(newImageId));
                  this.imagesData[newImageId] = newImage;
                  this.imagesData.length++;
                  this.saveImagesData();
              }
  
              return false; // to prevent link with href='#' to scroll to the top of the page
          },
          removeImage: function ($elem) {
              delete this.imagesData[$elem.data('imageId')];
              this.imagesData.length--;
              $elem.closest('tr').remove();
              this.saveImagesData();
          },
          renderImagesTable: function () {
              if (this.imagesData.length) {
                  Object.keys(this.imagesData).forEach(function (imageId) {
                      this._renderImageRow.apply(this, this.imagesData[imageId].concat(imageId));
                  }.bind(this));
  
                  this._toggleImagesTable(true);
  
negative.code:           </td>
          </tr>
  
          <tr class="hidden cloneOptionsRow"  id="tr_snapshot_name">
            <th><label for="snapshot">Snapshot name:</label></th>
            <td>
              <select id="snapshot"> </select>
  