class TermState {

    public boolean update( long newTerm )
    {
        failIfInvalid( newTerm );
        boolean changed = term != newTerm;
        term = newTerm;
        return changed;
    }

    public  TermState();
    private  TermState( long term );

}