public ArrayList stepConfiguration(Configuration config) {
		ArrayList list = new ArrayList();
		FSAConfiguration configuration = (FSAConfiguration) config;
		/** get all information from configuration. */
		String unprocessedInput = configuration.getUnprocessedInput();
		String totalInput = configuration.getInput();
		State currentState = configuration.getCurrentState();
		Transition[] transitions = myAutomaton
				.getTransitionsFromState(currentState);
		for (int k = 0; k < transitions.length; k++) {
			FSATransition transition = (FSATransition) transitions[k];
			/** get all information from transition. */
			String transLabel = transition.getLabel();
			HashSet<String> trange = new HashSet<String>();
			if (transLabel.contains("[")){
				for(int i=transLabel.charAt(transLabel.indexOf("[")+1); i<=transLabel.charAt(transLabel.indexOf("[")+3); i++){
					trange.add(Character.toString((char)i));
					EDebug.print(Character.toString((char)i));
				}
				for(String element : trange){
					if (unprocessedInput.startsWith(element)) {
						String input = "";
						if (element.length() < unprocessedInput.length()) {
							input = unprocessedInput.substring(element.length());
						}
						State toState = transition.getToState();
						FSAConfiguration configurationToAdd = new FSAConfiguration(
								toState, configuration, totalInput, input);
						list.add(configurationToAdd);
					}
				}
			}
			else if (unprocessedInput.startsWith(transLabel)) {
				String input = "";
				if (transLabel.length() < unprocessedInput.length()) {
					input = unprocessedInput.substring(transLabel.length());
				}
				State toState = transition.getToState();
				FSAConfiguration configurationToAdd = new FSAConfiguration(
						toState, configuration, totalInput, input);
				list.add(configurationToAdd);
			}
		}
		return list;
	}