@ApiStatus.Internal
  public static @NotNull List<ActionCommand> loadActionScript(@NotNull Path scriptFile) throws IOException {
    try (ObjectInputStream ois = new ObjectInputStream(Files.newInputStream(scriptFile))) {
      Object data = ois.readObject();
      if (data instanceof ActionCommand[]) {
        return Arrays.asList((ActionCommand[])data);
      }
      else {
        throw new IOException("An unexpected object: " + data + "/" + data.getClass() + " in " + scriptFile);
      }
    }
    catch (NoSuchFileException | AccessDeniedException e) {
      return List.of();
    }
    catch (ReflectiveOperationException e) {
      throw (StreamCorruptedException)new StreamCorruptedException("Stream error: " + scriptFile).initCause(e);
    }
  }
@ApiStatus.Internal
  public static @NotNull List<ActionCommand> loadActionScript(@NotNull Path scriptFile)