class Mail::Encodings::TransferEncoding

def self.renegotiate(message_encoding, source_encoding, str, allowed_encodings = nil)

def self.renegotiate(message_encoding, source_encoding, str, allowed_encodings = nil)
  encodings = Encodings.get_all.select do |enc|
    (allowed_encodings.nil? || allowed_encodings.include?(enc)) &&
      message_encoding.can_transport?(enc) &&
      enc.can_encode?(source_encoding)
  end
  lowest_cost(str, encodings)
end