code: protected void transition(Member.Type type) {
      switch (type) {
        case ACTIVE:
          if (!(state instanceof ActiveState)) {
            transition(CopycatServer.State.FOLLOWER);
          }
          break;
        case PASSIVE:
          if (this.state.type() != CopycatServer.State.PASSIVE) {
            transition(CopycatServer.State.PASSIVE);
          }
          break;
        case RESERVE:
          if (this.state.type() != CopycatServer.State.RESERVE) {
            transition(CopycatServer.State.RESERVE);
          }
          break;
        default:
          if (this.state.type() != CopycatServer.State.INACTIVE) {
            transition(CopycatServer.State.INACTIVE);
          }
          break;
      }
    }
docs: Transitions the server to the base state for the given member type.