code: private void purge(State state) {
          StateSignature sig = state.getSignature();
          if (sig == null) {
              return;
          }
          if (state.getAcceptance() == Acceptance.TRUE) {
              throw new IllegalStateException("Attempting to purge accepting state");
          }
          if (register.remove(sig) == null) {
              return;
          }
          sig.acceptance = Acceptance.FALSE;
          for (int i = 0; i < alphabetSize; i++) {
              State succ = sig.successors.array[i];
              if (succ != null) {
                  purge(succ);
              }
          }
      }
docs: Removes a state and all of its successors from the register.
  
  @param state
  the state to purge