docs: private GVRSceneObject loadJassimpModel(AssetRequest request, final GVRSceneObject model) throws IOException
      {
          Jassimp.setWrapperProvider(GVRJassimpAdapter.sWrapperProvider);
          org.gearvrf.jassimp.AiScene assimpScene = null;
          String filePath = request.getBaseName();
          GVRJassimpAdapter jassimpAdapter = new GVRJassimpAdapter(this, filePath);
  
          model.setName(filePath);
          ResourceVolumeIO jassimpIO = new ResourceVolumeIO(request.getVolume());
          try
          {
              assimpScene = Jassimp.importFile(FileNameUtils.getFilename(filePath),
                                               jassimpAdapter.toJassimpSettings(request.getImportSettings()),
                                               jassimpIO);
          }
          catch (IOException ex)
          {
              String errmsg = "Cannot load model: " + ex.getMessage() + " " + jassimpIO.getLastError();
              request.onModelError(mContext, errmsg, filePath);
              throw new IOException(errmsg);
          }
          if (assimpScene == null)
          {
              String errmsg = "Cannot load model: " + filePath;
              request.onModelError(mContext, errmsg, filePath);
              throw new IOException(errmsg);
          }
          jassimpAdapter.processScene(request, model, assimpScene);
          request.onModelLoaded(mContext, model, filePath);
          mContext.runOnTheFrameworkThread(new Runnable() {
              public void run() {
                  // Inform the loaded object after it has been attached to the scene graph
                  mContext.getEventManager().sendEvent(
                          model,
                          ISceneObjectEvents.class,
                          "onLoaded");
              }
          });
          return model;
      }