@SuppressWarnings({"SimplifiableIfStatement"})
  public boolean equals(Object obj) {
    if (obj == null) return false;
    if (obj.getClass() != getClass()) return false;
    return ((StringMatcher<?>)obj).myTarget.equals(myTarget);
  }
@SuppressWarnings({"SimplifiableIfStatement"})
  public boolean equals(Object obj)