The current reflection based serialization is built for
algebraic data types, like this kind of product types:
case class Address(street: String, city: String)
Sum types are supported too but they require type hints to be added to
the resulting JSON:
sealed trait Animal
case class Dog(name: String) extends Animal
case class Cat(name: String) extends Animal
So, the current reflection code works on case class constructor
parameters, not on properties.
That said, there's an open ticket to expand the
serialization/deserialization support:
http://www.assembla.com/spaces/liftweb/tickets/893-improve-class----json-serialization
I've got some plans how to do it but no concrete implementation yet.
Cheers Joni
I've got some plans how to do it but no concrete implementation yet.
Please consider a solution which doesn't have the limitation GSON has;
Not being able to serialize object-graphs with circular references.
--
Andreas Joseph Krogh <and...@officenet.no>
Senior Software Developer / CTO
Public key: http://home.officenet.no/~andreak/public_key.asc
------------------------+---------------------------------------------+
OfficeNet AS | The most difficult thing in the world is to |
Rosenholmveien 25 | know how to do a thing and to watch |
1414 Troll�sen | somebody else doing it wrong, without |
NORWAY | comment. |
Org.nr: NO 981 479 076 | |
| |
Tlf: +47 24 15 38 90 | |
Fax: +47 24 15 38 91 | |
Mobile: +47 909 56 963 | |
------------------------+---------------------------------------------+
I've got some plans how to do it but no concrete implementation yet.
The plan is to add a new serializer: FieldSerializer. To enable
serialization of fields you can add a FieldSerializer for some type:
implicit val formats = DefaultFormats + FieldSerializer[WildDog]()
Now the type WildDog gets serialized with all its fields (+ constructor
parameters). FieldSerializer takes two optional parameters which can be
used to intercept the field serialization:
case class FieldSerializer[A: Manifest](
serializer:
PartialFunction[(String, Any), Option[(String, Any)]] = Map(),
deserializer:
PartialFunction[JField, JField] = Map()
)
Those PartialFunctions are called just before a field is serialized or
deserialized. We can provide some useful PFs for renaming or ignoring
fields:
val dogSerializer = FieldSerializer[WildDog](
renameTo("name", "animalname") orElse ignore("owner"),
renameFrom("animalname", "name")
)
implicit val formats = DefaultFormats + dogSerializer
I actually implemented a first cut of this idea. So, one way to help is
to try that and report bugs/improvement ideas etc. This feature lives
currently in 'joni_893' branch:
https://github.com/lift/framework/tree/joni_893
An example:
Cheers Joni
> --
> You received this message because you are subscribed to the Google
> Groups "Lift" group.
> To post to this group, send email to lif...@googlegroups.com.
> To unsubscribe from this group, send email to liftweb
> +unsub...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/liftweb?hl=en.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
I just pushed a change which improves the search of FieldSerializers. It
examines the whole class hierarchy now and selects the best matching
serializer for a type (if any). So, to enable field serialization for
all types you can just say:
implicit val formats = DefaultFormats + FieldSerializer[AnyRef]()
Cheers Joni
This feature is in trunk too now.
Cheers Joni
--
Found a bug which causes that, FieldSerializer tried to serialize static
fields too. That's easy to fix but met another problem related to
AtomicInteger. AtomicInteger has two constructors:
- AtomicInteger()
- AtomicInteger(int initialValue)
Now FieldSerializer picks the second constructor and fails because
there's no such field as 'initialValue'. Somehow it should be clever and
select the no-arg constructor. I need to rethink this a bit more I'm
afraid... Perhaps FieldSerializer should always use no-arg constructor
instead of constructors with arguments.
Cheers Joni
> For more options, visit this group at
> http://groups.google.com/group/liftweb?hl=en.
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Lift" group.
> To post to this group, send email to lif...@googlegroups.com.
> To unsubscribe from this group, send email to liftweb
There's a fix for this issue in master now.
Cheers Joni
On Tue, 2011-04-12 at 14:47 -0400, Dirk wrote:
> I've finally got back to continuing to integrate Play with lift-json.
> Play's model objects all extend a class that uses a
> java.lang.concurrent.AtomicInteger. It seems that when lift-json
> attempts to serialize this object there's some kind of loop that
> causes a stack overflow:
> implicit val formats = DefaultFormats + FieldSerializer[AnyRef]()
> println(write(new AtomicInteger(4)))
>
> Note that if formats is just DefaultFormats (without the
> FieldSerializer) there doesn't seem to be a problem.
>
> This is the stack trace:
> java.lang.StackOverflowError
> at scala.collection.immutable.Map$EmptyMap$.get(Map.scala:75)
> at scala.collection.MapLike$class.contains(MapLike.scala:143)
> at scala.collection.immutable.Map$EmptyMap$.contains(Map.scala:73)
> at scala.collection.MapLike$class.isDefinedAt(MapLike.scala:155)
> at scala.collection.immutable.Map$EmptyMap
> $.isDefinedAt(Map.scala:73)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:70)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:87)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$.decompose(Extraction.scala:87)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply$1
> $$anonfun$apply$2.apply(Extraction.scala:92)
> at scala.Option.map(Option.scala:129)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:92)
> at net.liftweb.json.Extraction$$anonfun$1$$anonfun$apply
> $1.apply(Extraction.scala:88)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:206)
> at scala.collection.LinearSeqOptimized
> $class.foreach(LinearSeqOptimized.scala:61)
> at scala.collection.immutable.List.foreach(List.scala:45)
> at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:206)
> at scala.collection.immutable.List.map(List.scala:45)
> at net.liftweb.json.Extraction$$anonfun
> $1.apply(Extraction.scala:88)
> at net.liftweb.json.Extraction$$anonfun
> For more options, visit this group at
> http://groups.google.com/group/liftweb?hl=en.
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Lift" group.
> To post to this group, send email to lif...@googlegroups.com.
> To unsubscribe from this group, send email to liftweb
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
Totally agreed, will make that fix too.
Cheers Joni