BUG? Strange SynthesiserSound stopNote() behavior

During debugging of an ADSR error, I noticed stopNote() seemed to be called twice. Once for the current voice which if I only play one note at a time and wait for it to finish before playing another note, is always voice number 1. But it also always calls stopNote() on the “first” voice, voice number 0. Now to clarify when I say voice number, I mean when you add voices like this;

mySynth.addVoice (new SynthVoice ());

The very first time that is called, the voice number is essentially number 0, next time number 1, and so on until you added how many voices you need for polyphonic.

It does not matter if setNoteStealingEnabled is set to false or true, or if you play one or more notes at the same time, when I release the last key, playing one or more keys, stopNote() is invoked on voice number 0.

In other words stopNote() is called one time extra, to much!

Here is my test code I used to determine the described behaviour;

In PluginProcessor;

    mySynth.clearVoices ();
    // Below is a global variable used to set a local variable in SynthVoice's 
    // constructor to keep track of what voice number is used when playing a key
	currentVoice = 0;
	for (int i = 0; i < 16; i++)
	{
		mySynth.addVoice (new SynthVoice ());
		currentVoice++;
	}
	mySynth.setNoteStealingEnabled (false);

In SynthVoice’s constructor;

class SynthVoice : public SynthesiserVoice {
public:
	SynthVoice ()
	{
		voiceNumber = currentVoice;
     }

In SynthVoice stopNote();

void stopNote (float velocity, bool allowTailOff)
	{
		if (voiceNumber == 0) testValue1++; // Test values are shown in real time in my Editor
		if (voiceNumber != 0) testValue2++;

		clearCurrentNote ();
	}

So is my observation correct? If not what am I missing? But if correct why is stopNote() in voice “0” always called when releasing a single key, or last key played together?

I should also note that stopNote() is invoked for each voice, when adding them in PluginProcessor.

Having the same issue, any updates?