I'm found solution in the official spray mailing list, the solution is use Option[MyClass] = None in the constructor, instead the override constructors with nulls, for instance, my class definition look like:
case class RequestHolder(requestStatus : RequestStatus, loginInfo: Option[LoginInfo] = None)
and now parsing works fine!