# File lib/chef/mixin/create_path.rb, line 31
      def create_path(file_path)
        unless file_path.kind_of?(String) || file_path.kind_of?(Array)
          raise ArgumentError, "file_path must be a string or an array!" 
        end
        
        if file_path.kind_of?(String)
          file_path = File.expand_path(file_path).split(File::SEPARATOR)
          file_path.shift if file_path[0] == ''
          # Check if path starts with a separator or drive letter (Windows)
          unless file_path[0].match("^#{File::SEPARATOR}|^[a-zA-Z]:")
            file_path[0] = "#{File::SEPARATOR}#{file_path[0]}"
          end
        end
                
        file_path.each_index do |i|
          create_path = File.join(file_path[0, i + 1])
          unless File.directory?(create_path)
            Chef::Log.debug("Creating directory #{create_path}")
            Dir.mkdir(create_path)
          end 
        end
        File.expand_path(File.join(file_path))
      end