docs: public Capsule newCapsule(String mode, Path wrappedJar) {
          final String oldMode = properties.getProperty(PROP_MODE);
          final ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
          Thread.currentThread().setContextClassLoader(capsuleClass.getClassLoader());
          try {
              setProperty(PROP_MODE, mode);
  
              final Constructor<?> ctor = accessible(capsuleClass.getDeclaredConstructor(Path.class));
              final Object capsule = ctor.newInstance(jarFile);
  
              if (wrappedJar != null) {
                  final Method setTarget = accessible(capsuleClass.getDeclaredMethod("setTarget", Path.class));
                  setTarget.invoke(capsule, wrappedJar);
              }
  
              return wrap(capsule);
          } catch (ReflectiveOperationException e) {
              throw new RuntimeException("Could not create capsule instance.", e);
          } finally {
              setProperty(PROP_MODE, oldMode);
              Thread.currentThread().setContextClassLoader(oldCl);
          }
      }