    # File lib/facets/core/fileutils/stage.rb, line 119
        def transfer_files( source, files, trans, stage_folder )
          Dir.chdir(source) do
            #trans = transfer_rules( rules )
            list = files

            # build transfer table
            folders, files = [], {}
            list.each do |from|
              to = trans.key?(from) ? trans[from] : from
              #to = File.join( stage_folder, to )
              if File.directory?( from )
                folders << to
              else
                files[ from ] = to
                # ensure creation of files' folder
                files_folder = File.dirname( to )
                folders << files_folder unless files_folder == '.'
              end
            end

            folders.delete('')
            folders.uniq!

            # make staging folder
            mkdir_p(stage_folder)

            # create folders
            folders.each do |to|
              to = File.join(stage_folder, to)
              mkdir_p( to )
            end

            # copy files to staging "mirror" folder
            files.each do |from, to|
              to = File.join( stage_folder, to )
              cp( from, to )
              #safe_ln( from, to )
            end
          end
        end