# File lib/dm-core/property.rb, line 547
    def set(resource, value)
      loaded   = loaded?(resource)
      original = get!(resource) if loaded
      value    = typecast(value)

      if loaded && value == original
        return original
      end

      set_original_value(resource, original)

      set!(resource, value)
    end