State (String name, int id) throws IllegalArgumentException{
        outgoingTransitions = new ArrayList<Transition>();
        incomingTransitions = new ArrayList<Transition>();
        prop = new State_Properties();
        dfsNum = 0;
        this.id = id;
        if (name == null)
            throw new IllegalArgumentException();
        //name != null
        prop.setName(name);
    }