code: private static void initializeWithVariableLength(List<Program> programs, LGP manager, RandEngine randEngine) {
        int popSize = manager.getPopulationSize();
  
        for(int i=0; i < popSize; ++i) {
           Program lgp= new Program();
           initialize(lgp, manager, randEngine, randEngine.nextInt(manager.getPopInitMinProgramLength(), manager.getPopInitMaxProgramLength()));
           programs.add(lgp);
        }
     }
docs: the program length is distributed uniformly between iMinProgLength and iMaxProgLength