def find(context, facet_name, *args)
      facet = find_facet(context, facet_name)

      if !facet
        return nil
      end

      case result = facet.find(*args)
      when Array
        result.map { |item| @entities[item] }
      when String
        @entities[result]
      when NilClass
        nil
      else
        raise "Bad facet return type #{result.class.name.dump}"
      end
    end
def find(context, facet_name, *args)
      facet = find_facet(context, facet_name)

      if !facet
        return nil
      end

      case result = facet.find(*args)
      when Array
        result.map { |item| @entities[item] }
      when String
        @entities[result]
      when NilClass
        nil
      else
        raise "Bad facet return type #{result.class.name.dump}"
      end
    end
Finds an entity or entities.

 @param context [String] the lookup context.
 @param facet_name [Symbol] the facet name.
 @param args [Array] the argument splat passed to the facet.

 @return [Object] the retrieved entity or entities.