private void patchObject(JsonObject src, JsonObject dst) {
    for (String key : objectKeys(src)) {
      JsonElement se = src.get(key);
      JsonElement de = dst.get(key);
      if (de == null) {
        continue;
      }
      if (se.isJsonObject() && de.isJsonObject()) {
        patchObject(se.getAsJsonObject(), de.getAsJsonObject());
        continue;
      }
      if (se.isJsonPrimitive() && de.isJsonPrimitive()) {
        dst.add(key, se);
      }
    }
  }
private void patchObject ( JsonObject src , JsonObject dst ) { for ( String key : objectKeys ( src ) ) { JsonElement se = src . get ( key ) ; JsonElement de = dst . get ( key ) ; if ( de == null ) { continue ; } if ( se . isJsonObject ( ) && de . isJsonObject ( ) ) { patchObject ( se . getAsJsonObject ( ) , de . getAsJsonObject ( ) ) ; continue ; } if ( se . isJsonPrimitive ( ) && de . isJsonPrimitive ( ) ) { dst . add ( key , se ) ; } } }
Overlay nested values from src on top of dst.