code: @Nonnull
    public static String validateIdentifier (@Nonnull final StringBuilder aPattern)
    {
      final int nLength = aPattern.length ();
      final char c1 = aPattern.charAt (0);
      final char c2 = nLength <= 1 ? 0 : aPattern.charAt (1);
  
      // Starts with a hack?
      if (c1 == '-' || c1 == '$' || c1 == '*')
      {
        if (nLength > 1 && Character.isDigit (c2))
          throw new IllegalArgumentException ("Identifier may not start with a hyphen and a digit: " + aPattern);
      }
      else
      {
        if (Character.isDigit (c1))
          throw new IllegalArgumentException ("Identifier may not start with a digit: " + aPattern);
      }
  
      if (false)
        if (nLength > 1 && c1 == '-' && c2 == '-')
          throw new IllegalArgumentException ("Identifier may not start with two hyphens: " + aPattern);
  
      return aPattern.toString ();
    }
docs: In CSS, identifiers (including element names, classes, and IDs in
  selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646
  characters U+00A0 and higher, plus the hyphen (-) and the underscore (_);
  they cannot start with a digit, two hyphens, or a hyphen followed by a
  digit. Identifiers can also contain escaped characters and any ISO 10646
  character as a numeric code (see next item). For instance, the identifier
  "B&amp;W?" may be written as "B\&amp;W\?" or "B\26 W\3F".<br>
  CSS Variables on the other hand allow for double dashes:
  https://www.w3.org/TR/css-variables-1/#defining-variables<br>
  Source: <a href=
  "http://stackoverflow.com/questions/30819462/can-css-identifiers-begin-with-two-hyphens">
  http://stackoverflow.com/questions/30819462/can-css-identifiers-begin-with-
  two-hyphens</a>
  
  @param aPattern
  pattern to check
  @return The input string