public void createSpecimen(List<Double> in, List<Double> out) {
        List<Node> outputSpecimen = new ArrayList<>();
        Network net = new Network();
        for (int i = 0; i < out.size(); i++) {
            Node newOutNode = new Node(out.get(i), NodeType.OUTPUT, nextEnabledNodeID());
            net.addOutNode(newOutNode);
            outputSpecimen.add(newOutNode);
        }
        List<Gene> genes = new ArrayList<>();
        for (int j = 0; j < in.size(); j++) {
            Node newInNode = new Node(in.get(j), NodeType.INPUT, nextEnabledNodeID());
            net.addInNode(newInNode);
            for (int i = 0; i < outputSpecimen.size(); i++) {
                Link newLink = new Link(newInNode, outputSpecimen.get(i));  // newOutNode.addIncomingLink(newLink); - Link constructior do this
                genes.add(new Gene(newLink, nextEnabeledInnovetionNumber(), true));
            }
        }
        Genome newGenome = new Genome(nextEnabeledGenomeID(), genes);
        specimen = new Organism(newGenome);
    }