class UnicodeRepresentation extends StandardRepresentation {

  public static final UnicodeRepresentation UNICODE_REPRESENTATION = new UnicodeRepresentation();

  /**
   * Returns hexadecimal the {@code toString} representation of the given String or Character.
   *
   * @param object the given object.
   * @return the {@code toString} representation of the given object.
   */
  @Override
  public String toStringOf(Object object) {
    if (hasCustomFormatterFor(object)) return customFormat(object);
    if (object instanceof String) return toStringOf((String) object);
    if (object instanceof Character) return toStringOf((Character) object);
    return super.toStringOf(object);
  }

  @Override
  protected String toStringOf(Character string) {
    return escapeUnicode(string.toString());
  }

  @Override
  protected String toStringOf(String string) {
    return escapeUnicode(string);
  }

  private static String escapeUnicode(String input) {<FILL_FUNCTION_BODY>}
}

    StringBuilder b = new StringBuilder(input.length());
    Formatter formatter = new Formatter(b);
    for (char c : input.toCharArray()) {
      if (c < 128) {
        b.append(c);
      } else {
        formatter.format("\\u%04x", (int) c);
      }
    }
    formatter.close();
    return b.toString();
  
<methods>public non-sealed void <init>() ,public static int getMaxElementsForPrinting() ,public static int getMaxLengthForSingleLineDescription() ,public static int getMaxStackTraceElementsDisplayed() ,public static void registerFormatterForType(Class<T>, Function<T,java.lang.String>) ,public static void removeAllRegisteredFormatters() ,public static void resetDefaults() ,public static void setMaxElementsForPrinting(int) ,public static void setMaxLengthForSingleLineDescription(int) ,public static void setMaxStackTraceElementsDisplayed(int) ,public java.lang.String toString() ,public java.lang.String toStringOf(java.lang.Object) ,public java.lang.String unambiguousToStringOf(java.lang.Object) <variables>private static final Class<?>[] BLACKLISTED_ITERABLE_CLASSES,private static final java.lang.String DEFAULT_END,private static final java.lang.String DEFAULT_MAX_ELEMENTS_EXCEEDED,private static final java.lang.String DEFAULT_START,public static final java.lang.String ELEMENT_SEPARATOR,public static final java.lang.String ELEMENT_SEPARATOR_WITH_NEWLINE,static final java.lang.String INDENTATION_AFTER_NEWLINE,static final java.lang.String INDENTATION_FOR_SINGLE_LINE,private static final java.lang.String NULL,public static final org.assertj.core.presentation.StandardRepresentation STANDARD_REPRESENTATION,private static final java.lang.String TUPLE_END,private static final java.lang.String TUPLE_START,private static final Class<?>[] TYPE_WITH_UNAMBIGUOUS_REPRESENTATION,private static final Map<Class<?>,Function<?,? extends java.lang.CharSequence>> customFormatterByType,private static int maxElementsForPrinting,private static int maxLengthForSingleLineDescription,private static int maxStackTraceElementsDisplayed