docs: @Override
      public OutputStream putStream() throws IOException {
          if (type == Type.DIRECTORY)
              throw new IOException("Can not write to a directory");
  
          if (!FileUtils.ensureDirExists(wrappedFile.getParentFile())) {
              throw new IOException("Unable to create parent directory");
          }
  
          return new FileOutputStream(wrappedFile);
      }