code: private static boolean isIdentifier( StringBuilder builder ) {
          char ch = 0;
          int i;
          for( i = 0; i < builder.length(); ) {
              ch = builder.charAt( i++ );
              if( !Character.isWhitespace( ch ) ) {
                  break;
              }
          }
          FIRST: do {
              switch( ch ) {
                  case '&': // pseudo-selectors
                  case '.': // Mixin
                  case '#': // Mixin
                  case '@': // variable
                      return true;
                  case '-':
                      if( i < builder.length() ) {
                          ch = builder.charAt( i++ );
                          continue FIRST;
                      }
                      return true; // special case of properties that starts with two minus letters. see https://developer.mozilla.org/de/docs/Web/CSS/var
                  case 'U':
                      if( builder.length() > 1 && builder.charAt( 1 ) == '+' ) {
                          //unicode-range
                          return true;
                      }
              }
              break;
          } while( true );
          if( Character.isLetter( ch ) ) {
              return true;
          }
          return false;
      }
docs: Check if the current content is an identifier or an expression. This is call to decide if a minus is part of this
  identifier or an operation. Identifier are:
  <li>variables
  <li>mixins
  <li>selectors
  </li>
  
  @param builder
  the builder to check
  @return true, if identifier