class CheckSignatureAdapter extends SignatureVisitor {

  @Override
  public SignatureVisitor visitSuperclass() {
    if (type != CLASS_SIGNATURE || !VISIT_SUPER_CLASS_STATES.contains(state)) {
      throw new IllegalStateException();
    }
    state = State.SUPER;
    return new CheckSignatureAdapter(
        TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitSuperclass());
  }

  public  CheckSignatureAdapter(final int type, final SignatureVisitor signatureVisitor);
  protected  CheckSignatureAdapter(
      final int api, final int type, final SignatureVisitor signatureVisitor);

}