title: Gson Type Adapter with both custom and default deserialization logic
body: <p>I have a gson model class which contains a variable named <code>duration</code> which is an integer. The problem is that when this variable has no value the server instead of returning me <code>null</code> it returns <code>""</code>. </p>
  
  <p>This is also the case with lists, when I am expecting a <code>List&lt;String&gt;?</code> and there is no value in them I get <code>""</code> instead of <code>null</code>. Unfortunately the server can not change.</p>
  
  <p>I have fixed the problem with a custom <code>double</code> deserializer but I need something more generic because the "" is the default server approach. Here is my progress so far but on the else branch I do not know how to tell it to continue with the default deserializer.</p>
  
  <pre><code>internal class BadDeserializer : JsonDeserializer&lt;Any&gt; {
  
      @Throws(JsonParseException::class)
      override fun deserialize(
              json: JsonElement,
              type: Type,
              context: JsonDeserializationContext): Any? {
          return try {
              val json = json.asString
              if (json.isBlank()) {
                  null
              } else {
                 //Do nothing and call default behavior (?)
              }
          } catch (e: Exception) {
              throw JsonParseException(e)
          }
      }
  }
  </code></pre>