public Network[] nextGenerationNetworks() { NetworkSaveState[] networks; if (generations.initialised) { networks = generations.nextGenerationNetworks(); } else { networks = generations.firstGenerationNetworks(); } Network[] neuralNets = new Network[networks.Length]; for (int i = 0; i < networks.Length; i++) { Network net = new Network(networks[i]); neuralNets[i] = net; } //TODO remove older generations return(neuralNets); }