code: function(json){
    
    // Protect against forgetting the new keyword when calling the constructor
    if(!(this instanceof SourceReference)){
      return new SourceReference(json);
    }
    
    // If the given object is already an instance then just return it. DON'T copy it.
    if(SourceReference.isInstance(json)){
      return json;
    }
    
    this.init(json);
  }
docs: A reference to a discription of a source.
  
  @see {@link https://github.com/FamilySearch/gedcomx/blob/master/specifications/json-format-specification.md#source-reference|GEDCOM X JSON Spec}
  
  @class
  @extends ExtensibleData
  @param {Object} [json]