code: public Operation wildCardEq(String pattern)
      {
          if (pattern == null)
          {
              return this.isNull();
          }
          AnalyzedWildcardPattern wildcardPattern = WildcardParser.getAnalyzedPattern(pattern, null);
          if (wildcardPattern.getPlain() != null)
          {
              return this.eq(pattern);
          }
          else if (wildcardPattern.getContains() != null)
          {
              return this.contains(wildcardPattern.getContains().iterator().next());
          }
          else if (wildcardPattern.getEndsWith() != null)
          {
              return this.endsWith(wildcardPattern.getEndsWith().iterator().next());
          }
          else if (wildcardPattern.getSubstring() != null)
          {
              Iterator<Set<String>> intObjectIterator = wildcardPattern.getSubstring().iterator();
              return this.startsWith(intObjectIterator.next().iterator().next());
          }
          return new StringWildCardEqOperation(this, wildcardPattern.getWildcard().iterator().next());
      }
docs: Wild cards can include * and ?, which mean 'zero or many' and 'exactly one' character respectively.
  A wild card can be escaped using single-quote. A single-quote must be escaped with another single quote
  Examples:
  "a?b*" matches "acbdefg" and "agb", but not "ab"
  "a'*" matches "a*" (a followed with the star character)
  "a''*" matches "a'" and "a'bced" (the two quotes are an escaped single-quote)
  "a'''*" matches "a'*" (a followed by single-quote and then the star character)
  
  A single quote that is not followed by ',?, or * is ignored, so the pattern "a'b" is the same as "ab", which matches just "ab"
  
  @param pattern the pattern to match
  @return a wild card operation