while (count > 0) {
ProgressManager.getInstance().checkCanceled();
final Pair<GroovyFile, GroovyDslExecutor> pair = queue.poll(20, TimeUnit.MILLISECONDS);
if (pair != null) {
final GroovyDslExecutor executor = pair.second;
<BUG>if (executor != null && !consumer.process(pair.first, executor)) {
return false;
}</BUG>
count--;
}

while (count > 0) {
ProgressManager.getInstance().checkCanceled();
final Pair<GroovyFile, GroovyDslExecutor> pair = queue.poll(20, TimeUnit.MILLISECONDS);
if (pair != null) {
final GroovyDslExecutor executor = pair.second;
if (executor != null) {
executor.processVariants(descriptor, consumer);
