docs: public Integer getFirstStateId(){
  		Set<Integer> ids = states.inverse().keySet();
  		if (ids.size() < 1 ){
  			throw new IllegalStateException("There is no state defined.");
  		}
  		Integer[] idsArray = new Integer[ids.size()];
  		Arrays.sort(ids.toArray(idsArray));
  		return idsArray[0];
  	}