@Override
  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {
    super.serializeStateData(serializer);
    // Double serialization of regionname. Superclass is also serializing. Fix.
    final MasterProcedureProtos.GCRegionStateData.Builder msg =
      MasterProcedureProtos.GCRegionStateData.newBuilder()
        .setRegionInfo(ProtobufUtil.toRegionInfo(getRegion()));
    serializer.serialize(msg.build());
  }
GC a Region that is no longer in use. It has been split or merged away. Caller determines if it
is GC time. This Procedure does not check.
<p>
This is a Region StateMachine Procedure. We take a read lock on the Table and then exclusive on
the Region.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/GCRegionProcedure.java