PendingLocalChange
RaftEngine.onChangeMembership guard 3: this node already holds a local caller's in-flight membership change — pendingConfigChange is non-null.
Set at onChangeMembership's tail and cleared when the resulting Simple entry commits (onConfigCommitted) or the leadership is lost (failPendingConfigChange). Also thrown by onTransferLeadership, whose §3.10 step-1 gate reads the same field: a transfer may not start while a change is converging, because the Joint→Simple auto-append would move the lastLogIndex goalpost the transfer target is chasing. The two sites cannot co-fire — one call is a changeMembership, the other a transferLeadership, and the caller knows which it made — so they share a value rather than splitting one, on the criterion RefusalGate sets out at AppendEntriesPrevLogIndexOutOfRange.
Subsumed by UncommittedConfigEntry at the changeMembership site, which is the whole reason this enum exists; see the class KDoc.