public ArrayList stepConfiguration(Configuration configuration)
    {
        ArrayList list = new ArrayList();
        MealyConfiguration config = (MealyConfiguration) configuration;
        
        String unprocessedInput = config.getUnprocessedInput();
        String totalInput = config.getInput();
        State currentState = config.getCurrentState();
        
        Transition[] transitions = myAutomaton.getTransitionsFromState(currentState);
        for(int i = 0; i < transitions.length; i++)
        {
            MealyTransition trans = (MealyTransition) transitions[i];
            String transLabel = trans.getLabel();
            if(unprocessedInput.startsWith(transLabel))
            {
                String input = "";
                if(transLabel.length() < unprocessedInput.length())
                    input = unprocessedInput.substring(transLabel.length());
                State toState = trans.getToState();
                String output = config.getOutput() + trans.getOutput();
                MealyConfiguration configToAdd = 
                    new MealyConfiguration(toState, config, totalInput, input, output);
                list.add(configToAdd);
            }
        }
        return list;
    }