docs: @Override
      protected Object parseLiteralValue( TokenStream tokens,
                                          TypeSystem typeSystem ) {
          if (tokens.canConsume("TIMESTAMP")) {
              Position pos = tokens.previousPosition();
              // This should be a timestamp represented as a single-quoted string ...
              String value = removeBracketsAndQuotes(tokens.consume(), tokens.previousPosition());
              TypeFactory<?> dateTimeFactory = typeSystem.getDateTimeFactory();
              try {
                  // Convert to a date and then back to a string to get canonical form ...
                  Object dateTime = dateTimeFactory.create(value);
                  return dateTime;
                  // return dateTimeFactory.asString(dateTime);
              } catch (ValueFormatException e) {
                  String msg = GraphI18n.expectingLiteralAndUnableToParseAsDate.text(value, pos.getLine(), pos.getColumn());
                  throw new ParsingException(pos, msg);
              }
          }
          return super.parseLiteralValue(tokens, typeSystem);
      }