code: protected boolean handleStringEscape(char separator, char escapeChar, Token stringToken) {
          if (input.current().is(separator)) {
              stringToken.addToContent(separator);
              stringToken.addToSource(input.consume());
              return true;
          } else if (input.current().is(escapeChar)) {
              stringToken.silentAddToContent(escapeChar);
              stringToken.addToSource(input.consume());
              return true;
          } else if (input.current().is('n')) {
              stringToken.silentAddToContent('\n');
              stringToken.addToSource(input.consume());
              return true;
          } else if (input.current().is('r')) {
              stringToken.silentAddToContent('\r');
              stringToken.addToSource(input.consume());
              return true;
          } else {
              return false;
          }
      }
docs: Evaluates an string escape like \n
  <p>
  The escape character is already consumed. Therefore the input points at the character to escape. This method
  must consume all escaped characters.
  
  @param separator   the delimiter of this string constant
  @param escapeChar  the escape character used
  @param stringToken the resulting string constant
  @return <tt>true</tt> if an escape was possible, <tt>false</tt> otherwise