@Override
    public List<Integer> applyTransforms(List<Integer> originalGlyphIds)
    {
        LOG.warn(
                "{} class does not perform actual GSUB substitutions. Perhaps the selected language is not yet supported by the FontBox library.",
                getClass().getSimpleName());
        // Make the result read-only to prevent accidental modifications of the source list
        return Collections.unmodifiableList(originalGlyphIds);
    }
@Test
    @DisplayName("Transformation result is actually a read-only version of the argument")
    void applyTransforms()
    {
        // given
        DefaultGsubWorker sut = new DefaultGsubWorker();
        List<Integer> originalGlyphIds = Arrays.asList(1, 2, 3, 4, 5);

        // when
        List<Integer> pseudoTransformedIds = sut.applyTransforms(originalGlyphIds);
        Executable modification = pseudoTransformedIds::clear;

        // then
        assertEquals(originalGlyphIds, pseudoTransformedIds);
        assertThrows(UnsupportedOperationException.class, modification);
    }