    # File lib/fog/core/service.rb, line 83
          def setup_requirements
            if superclass.respond_to?(:setup_requirements)
              superclass.setup_requirements
            end

            @required ||= false
            unless @required
              for collection in collections
                require [@model_path, collection].join('/')
                constant = collection.to_s.split('_').map {|characters| characters[0...1].upcase << characters[1..-1]}.join('')
                service::Collections.module_eval "def \#{collection}(attributes = {})\n\#{service}::\#{constant}.new({:service => self}.merge(attributes))\nend\n", __FILE__, __LINE__
              end
              for model in models
                require [@model_path, model].join('/')
              end
              for request in requests
                require [@request_path, request].join('/')
                if service::Mock.method_defined?(request)
                  mocked_requests << request
                else
                  service::Mock.module_eval "def \#{request}(*args)\nFog::Mock.not_implemented\nend\n", __FILE__, __LINE__
                end
              end
              @required = true
            end
          end