if ( this.states.containsKey( name ) ) { throw new DuplicateStateException( this, name ); }  State state = new State( name, description );  addState( state );  return state;
this.states.put( state.getName(), state );
    public State addState(String name,                          String description) throws DuplicateStateException    {        if ( this.states.containsKey( name ) )        {            throw new DuplicateStateException( this,                                               name );        }        State state = new State( name,                                 description );                addState( state );        return state;    }