docs: @Override
    public Description matchBinary(BinaryTree tree, VisitorState state) {
      if (!matchWithinClass) {
        return Description.NO_MATCH;
      }
      ExpressionTree leftOperand = tree.getLeftOperand();
      ExpressionTree rightOperand = tree.getRightOperand();
      Type leftType = ASTHelpers.getType(leftOperand);
      Type rightType = ASTHelpers.getType(rightOperand);
      if (leftType == null || rightType == null) {
        throw new RuntimeException();
      }
      if (leftType.isPrimitive() && !rightType.isPrimitive()) {
        return doUnboxingCheck(state, rightOperand);
      }
      if (rightType.isPrimitive() && !leftType.isPrimitive()) {
        return doUnboxingCheck(state, leftOperand);
      }
      return Description.NO_MATCH;
    }