private final void mutate()
			{
				if (Rand.percent() > Hub.simWindow.mutantOffspringSlider.getValue())
					return;

				seedEnergy += Rand.double_(-10, 10);

				// mutate leaf colour
				int[] leafColours = { leafColour.getRed(), leafColour.getGreen(), leafColour.getBlue() };
				leafColours[Rand.int_(0, 2)] += Rand.int_(-10, 10);
				leafColour = ColTools.checkColour(leafColours[0], leafColours[1], leafColours[2]);

				// Mutate instructions
				for (int i = 0; i < instructions.size(); i++)
					{
						if (Rand.percent() < Hub.simWindow.dnaDamageSlider.getValue())
							{
								// Mutate instruction
								if (Rand.percent() > 6)
									{
										instructions.remove(i);
										instructions.add(i, getRandomInstruction());
									}
								// Insert Extra instruction
								else if (Rand.percent() > 3)
									{
										instructions.add(i, getRandomInstruction());
										i++;
									}
								// else delete instruction
								else
									{
										instructions.remove(i);
										i--;
									}
							}
					}
			}