class Lumberjack::Formatter::StructuredFormatter

def with_object_reference(obj, references)

def with_object_reference(obj, references)
  if obj.is_a?(Enumerable)
    return RecusiveReferenceError.new if references.include?(obj.object_id)
    references << obj.object_id
    begin
      yield
    ensure
      references.delete(obj.object_id)
    end
  else
    yield
  end
end