@Nullable
    @Contract(pure = true)
    private static String getOperationSign(IElementType op) {
      if (op == JavaTokenType.AND) {
        return "&";
      }
      else if (op == JavaTokenType.ASTERISK) {
        return "*";
      }
      else if (op == JavaTokenType.DIV) {
        return "/";
      }
      else if (op == JavaTokenType.GTGT) {
        return ">>";
      }
      else if (op == JavaTokenType.GTGTGT) {
        return ">>>";
      }
      else if (op == JavaTokenType.LTLT) {
        return "<<";
      }
      else if (op == JavaTokenType.MINUS) {
        return "-";
      }
      else if (op == JavaTokenType.OR) {
        return "|";
      }
      else if (op == JavaTokenType.PERC) {
        return "%";
      }
      else if (op == JavaTokenType.PLUS) {
        return "+";
      }
      else if (op == JavaTokenType.XOR) {
        return "^";
      }
      return null;
    }
@Nullable
    @Contract(pure = true)
    private static String getOperationSign(IElementType op)