title: ISO8601 to DateTime with time zone information preserved
body: <p>Below is a deserialization of an ISO8601 date string that contains time zone information. Notice that the time zone information is lost:</p>
  
  <pre><code>scala&gt; val date1 = new DateTime().withZone(DateTimeZone.forID("Europe/Berlin"))
  date1: org.joda.time.DateTime = 2013-09-22T18:42:15.348+02:00
  
  scala&gt; date1.getZone()
  res45: org.joda.time.DateTimeZone = Europe/Berlin
  
  scala&gt; val date2 = new DateTime(date1.toString())
  date2: org.joda.time.DateTime = 2013-09-22T19:42:15.348+03:00
  
  scala&gt; date2.getZone()
  res46: org.joda.time.DateTimeZone = Europe/Vilnius
  
  scala&gt; date1.getZone() == date2.getZone()
  res47: Boolean = false
  </code></pre>
  
  <p>Time zone information (UTC offset) is serialized, as in <code>+03:00</code> and <code>+02:00</code> at the end of the ISO8601 strings, but it is lost after deserialization. As you can see the <code>date2</code> DateTime object, which I expected to be a copy of <code>date1</code> has the system's UTC offset instead of <code>+02:00</code>, which <code>date1</code> had.</p>
  
  <p>How do I deserialize an ISO8601 string as to preserve the UTC offset?</p>