code: function(obj) {
          
          if(obj == null) {
              obj = new OpenLayers.Layer.Image(this.name,
                                                 this.url,
                                                 this.extent,
                                                 this.size,
                                                 this.getOptions());
          }
  
          //get all additions from superclasses
          obj = OpenLayers.Layer.prototype.clone.apply(this, [obj]);
  
          // copy/set any non-init, non-simple values here
  
          return obj;
      }
docs: Method: clone
  Create a clone of this layer
  
  Paramters:
  obj - {Object} An optional layer (is this ever used?)
  
  Returns:
  {<OpenLayers.Layer.Image>} An exact copy of this layer