Flame bestMutation = null;
while (true) {
Flame currMutation = baseFlame.makeCopy();
List<MutationType> mutationTypes = createMutationTypes(x, y);
modifyFlame(currMutation, x, y, mutationTypes);
renderedImg = renderFlame(currMutation.makeCopy(), probeSize, true);
double coverage = renderedImg != null ? RandomFlameGeneratorSampler.calculateCoverage(renderedImg, 0, 0, 0, true) : INVALID_COVERAGE;
if (coverage > MIN_RENDER_COVERAGE) {
coverage = RandomFlameGeneratorSampler.calculateDiffCoverage(renderedImg, simplifiedBaseFlameImg);
}
if (coverage > MIN_DIFF_COVERAGE) {