parameter assert
add test on write thread safety

- Test fails, because there is no proper synchronization
on MemoryByteChannel write.

- add TestExecutorService to allow for convenient try-with-resources
on thread pools in tests
refactor byte channel test

- make test executor service implement ExecutorService
- test easier to read and to maintain, better reuseability
remove useless instruction
make memory channel writes synchronous
fix test npe errrors
fix missing import