# File lib/merb-action-args/mri_args.rb, line 7
  def self.translate(*args)
    sexp = ParseTree.translate(*args)
    # ParseTree.translate returns [nil] if called on an inherited method, so walk
    # up the inheritance chain to find the class that the method was defined in
    unless sexp.first
      klass = args.first.ancestors.detect do |klass| 
        klass.public_instance_methods(false).include?(args.last.to_s)
      end
      sexp = ParseTree.translate(klass, args.last) if klass
    end
    sexp = Unifier.new.process(sexp)
    self.new(sexp)
  end