docs: @Override
      public boolean mutate(double[] genes) {
          boolean hasMutation = false;
  
          for (int i = 0; i < genes.length; ++i) {
              if (rng.nextDouble() < mutationRate) {
                  genes[i] = rng.nextDouble();
                  hasMutation = true;
              }
          }
  
          return hasMutation;
      }