static String[] getAntecedent(
      String clause,
      Tree tree,
      NullAway analysis,
      VisitorState state,
      Symbol callee,
      int numOfArguments) {

    String[] parts = clause.split("->");

    String[] antecedent = parts[0].trim().isEmpty() ? new String[0] : parts[0].split(",");

    if (antecedent.length != numOfArguments) {
      String message =
          "Invalid @Contract annotation detected for method "
              + callee
              + ". It contains the following uparseable clause: "
              + clause
              + " (incorrect number of arguments in the clause's antecedent ["
              + antecedent.length
              + "], should be the same as the number of "
              + "arguments in for the method ["
              + numOfArguments
              + "]).";
      state.reportMatch(
          analysis
              .getErrorBuilder()
              .createErrorDescription(
                  new ErrorMessage(ErrorMessage.MessageTypes.ANNOTATION_VALUE_INVALID, message),
                  tree,
                  analysis.buildDescription(tree),
                  state,
                  null));
    }
    return antecedent;
  }
@Test
  public void getEmptyAntecedent() {
    String[] antecedent = ContractUtils.getAntecedent("->_", tree, analysis, state, symbol, 0);

    assertArrayEquals(new String[0], antecedent);
    verifyNoInteractions(tree, state, analysis, symbol);
  }