code: private boolean valueMatches(Evidence evidence) {
          final boolean result;
          if (regex) {
              result = Pattern.matches(value, evidence.getValue());
          } else {
              result = value.equalsIgnoreCase(evidence.getValue());
          }
          return result;
      }
docs: Checks whether the value of the evidence matches this matcher. When
  {@link #isRegEx()} is {@code true} value is used as a
  {@link java.util.regex.Pattern} that it should match. Otherwise the value
  must be case-insensitive equal to the evidence's value.
  
  Uses {@link Evidence#getValue(java.lang.Boolean) to avoid setting
  evidences to used while just checking for a match.
  
  @param evidence the evidence to match
  @return <code>true</code> if the evidence matches; otherwise
  <code>false</code>