class Gem::Requirement
def self.create input
def self.create input case input when Gem::Requirement then input when Gem::Version, Array then new input when '!' then source_set else if input.respond_to? :to_str then new [input.to_str] else default end end end