I believe all you have to do is just put them in different threads and it'll work. With our project, whenever we want to play a sound, we call a method that creates a new thread, and inside that thread we have all of the stuff needed to create the sound that we want, including calling the SourceDataLine object to play the sound, which is .write(byte[], int, int).
We start a new thread by doing:
new Thread(() -> {
//Actual Code goes here
}).start();
I hope this helps!