private static boolean parsePostfixOperation(final @NotNull BinaryOperationParser parser) {
    final PsiBuilder.Marker tempMarker = parser.mark();
    PsiBuilder.Marker lastMarker = tempMarker;
    boolean result = parsePrefixOperation(parser);
    boolean tempMarkerDeleted = false;
    while (parser.getPostfixOperators().contains(parser.getTokenType()) &&
           !parser.getWhitespaceTokenSet().contains(parser.rawLookup(-1)) && !parser.isNewLine()) {
      final PsiBuilder.Marker operationMarker = lastMarker.precede();
      if (!tempMarkerDeleted) {
        tempMarker.drop();
        tempMarkerDeleted = true;
      }
      lastMarker = operationMarker;
      parser.advance();
      parser.done(operationMarker, parser.getPostfixExpressionElementType());
      result = true;
    }
    if (!tempMarkerDeleted) {
      tempMarker.drop();
    }
    return result;
  }
private static boolean parsePostfixOperation(final @NotNull BinaryOperationParser parser)