def save
      changes.each do |key, value|
        interface.set_extra_data(key.to_s, value[1].to_s)

        clear_dirty!(key)

        if value[1].nil?
          # Remove the key from the hash altogether
          hash_delete(key.to_s)
        end
      end
    end
def save
      changes.each do |key, value|
        interface.set_extra_data(key.to_s, value[1].to_s)

        clear_dirty!(key)

        if value[1].nil?
          # Remove the key from the hash altogether
          hash_delete(key.to_s)
        end
      end
    end
Saves extra data. This method does the same thing for both new
 and existing extra data, since virtualbox will overwrite old data or
 create it if it doesn't exist.

 @param [Boolean] raise_errors If true, {Exceptions::CommandFailedException}
   will be raised if the command failed.
 @return [Boolean] True if command was successful, false otherwise.