public void develop() {
        if (grammar.getGraph().getInputs().isEmpty()) {
            System.out.println("There are not input nodes - add some to develop a graph.");
            return;
        }

        grammar.getGraph().removeMassSpringNetwork();
        currentPoint = grammar.getGraph().getInputs().get(0);

        for (int i = 0; i < developedInit.length(); i++) {
            String letter = developedInit.substring(i, i + 1);

            if (grammar.isMassCreation(letter)) {
                Mass createdMass = createMass(letter);
                grammar.getGraph().addMasses(createdMass);
                continue;
            }

            if (grammar.isSpringCreation(letter)) {
                createSpring(letter);
                continue;
            }

            errors.add(new ParserError(i, letter));
        }

        addRandomMasses();
        addRandomSprings();
        removeSingleConectedMasses();

        if (!grammar.options.contains(showNotConnectedMasses)) {
            grammar.getGraph().removeNotConnectedNetworkMasses();
        }
    }