# File lib/quickbooks/base.rb, line 146
      def query(obj_or_args,*args)
        # If an object is sent, we need to reinstantiate the response into that object
        reinstantiate = if obj_or_args.is_a?(Quickbooks::Base)
          obj_or_args
        elsif obj_or_args.is_a?(Class)
          nil
        else
          args.unshift(obj_or_args)
          nil
        end
        objects = [] # This will hold and return the instantiated objects from the quickbooks response
# The following is subject to bugginess, IF the response contains more than one object: it will instantiate only the last one.
        self.request(reinstantiate || self, *args).each { |response| objects << response.instantiate(reinstantiate) } # Does not instantiate if it's an error, but simply records response into response_log
        objects.length == 1 ? objects[0] : objects
      end