SimpleString implements EnhancedString { @Override public boolean equals(Object obj) { if (obj instanceof SimpleString) { return ((SimpleString) obj).getRaw().equals(getRaw()); } else { return getRaw().equals(obj); } } SimpleString(String s); @Override SimpleString replaceText(Pattern p, String rText); @Override SimpleString patternToLower(Pattern p); @Override SimpleString patternToUpper(Pattern p); @Override int length(); @Override char charAt(int index); @Override CharSequence subSequence(int start, int end); @Override boolean equals(Object obj); @Override String getRaw(); @NotNull @Override String toString();  }
@Test public void testEquals() { Assert.assertEquals(testSs, new SimpleString(original)); }