private void move() {
            if (currentMovementSteps < totalMovementSteps) {
                currentMovementSteps++;
                if (moveVector == null) {
                    return;
                } else {
                    double[] center = generator.getCenter();
                    boolean outofbounds = true;
                    while (outofbounds) {
                        double radius = generator.getRadius();
                        outofbounds = false;
                        center = generator.getCenter();
                        for (int d = 0; d < center.length; d++) {
                            center[d] += moveVector[d];
                            if (center[d] - radius < 0 || center[d] + radius > 1) {
                                outofbounds = true;
                                setDesitnation(null, 0);
                                break;
                            }
                        }
                    }
                    generator.setCenter(center);
                }
            } else {
                if (!merging) {
                    setDesitnation(null, 0);
                }
            }
        }