# File lib/vcard/vcard.rb, line 1358
      def copy(card) # :yields: Field
        card.each do |field|
          fieldname = field.name.upcase
          case
          when [ "BEGIN", "END" ].include?(fieldname)
            # Never copy these

          when [ "VERSION", "N", "FN" ].include?(fieldname) && @card.field(fieldname)
            # Copy these only if they don't already exist.

          else
            if block_given?
              field = yield field
            end

            if field
              add_field(field)
            end
          end
        end
      end