class CheckSignatureAdapter extends SignatureVisitor {

  @Override
  public SignatureVisitor visitArrayType() {
    if (type != TYPE_SIGNATURE || state != State.EMPTY) {
      throw new IllegalStateException();
    }
    state = State.SIMPLE_TYPE;
    return new CheckSignatureAdapter(
        TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitArrayType());
  }

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

}