The idea is to create instances of processors only when required (basically if the maxInstances is 10, but only 2 are used simultaneously. we only create 2). So create instances upto maxInstances. currentSize tracks total number of instances that have been created till now.