I20240723-1800
This reduces the amount of code and can also improve the performance, depending on the type of the source and target stream. For example, since Java-18, if an 'FileInputStream' is transfered to an 'FileOutputStream' the copying is performed using FileChannels, which is faster than just the plain read and write of the content bytes. The only drawback of the new implementation is that precise progress-reporting is not possible anymore. But before it wasn't properly done anyways.