code: private static boolean appearsInAssignmentContext(Expression expression) {
          if (expression.getParentNode().isPresent()) {
              Node parent = expression.getParentNode().get();
              if (parent instanceof ExpressionStmt) {
                  return false;
              }
              if (parent instanceof MethodCallExpr) {
                  return false;
              }
              if (parent instanceof ReturnStmt) {
                  return false;
              }
              throw new UnsupportedOperationException(parent.getClass().getCanonicalName());
          }
          return false;
      }
docs: Not sure if should look if the parent is an assignment context