GenericEnsembleML newML = new GenericEnsembleML(mlFactory.createML(dataSetFactory.getInputData().getInputSize(), dataSetFactory.getInputData().getIdealSize()),mlFactory.getLabel());
do {
mlFactory.reInit(newML.getMl());
MLTrain train = trainFactory.getTraining(newML.getMl(), thisSet);
newML.setTraining(train);
newML.train(targetAccuracy,verbose);
} while (newML.getError(testset) > selectionError);
double newWeight = getWeightedError(newML,thisSet);
members.add(newML);
weights.add(newWeight);
D = updateD(newML,thisSet,D);