code: public static String escapeCssString(final String text,
                                      final CssStringEscapeType type, final CssStringEscapeLevel level) {
  
          if (type == null) {
              throw new IllegalArgumentException("The 'type' argument cannot be null");
          }
  
          if (level == null) {
              throw new IllegalArgumentException("The 'level' argument cannot be null");
          }
  
          return CssStringEscapeUtil.escape(text, type, level);
  
      }
docs: <p>
  Perform a (configurable) CSS String <strong>escape</strong> operation on a <tt>String</tt> input.
  </p>
  <p>
  This method will perform an escape operation according to the specified
  {@link CssStringEscapeType} and
  {@link CssStringEscapeLevel} argument values.
  </p>
  <p>
  All other <tt>String</tt>-based <tt>escapeCssString*(...)</tt> methods call this one with preconfigured
  <tt>type</tt> and <tt>level</tt> values.
  </p>
  <p>
  This method is <strong>thread-safe</strong>.
  </p>
  
  @param text the <tt>String</tt> to be escaped.
  @param type the type of escape operation to be performed, see
  {@link CssStringEscapeType}.
  @param level the escape level to be applied, see {@link CssStringEscapeLevel}.
  @return The escaped result <tt>String</tt>. As a memory-performance improvement, will return the exact
  same object as the <tt>text</tt> input argument if no escaping modifications were required (and
  no additional <tt>String</tt> objects will be created during processing). Will
  return <tt>null</tt> if input is <tt>null</tt>.