code: private ExpressionContext findAndRemoveValue(List<NamedValueContext> namedValues, String name) {
      
      Iterator<NamedValueContext> namedValueIter = namedValues.iterator();
      while (namedValueIter.hasNext()) {
        NamedValueContext namedValue = namedValueIter.next();
        if (name.equals(value(namedValue.name))) {
          namedValueIter.remove();
          return namedValue.expr;
        }
      }
  
      return null;
    }
docs: Find and remove named value with specific name
  
  @param namedValues List of NamedValues to search
  @param name Name of value to find
  @return Expression for value with specified name