code: public static List<Optional<String>> extractNames(List<Expression> expressions) {
  		return expressions.stream().map(OperationExpressionsUtils::extractName).collect(Collectors.toList());
  	}
docs: Extracts names from given expressions if they have one. Expressions that have names are:
  <ul>
  <li>{@link FieldReferenceExpression}</li>
  <li>{@link TableReferenceExpression}</li>
  <li>{@link LocalReferenceExpression}</li>
  <li>{@link org.apache.flink.table.expressions.BuiltInFunctionDefinitions#AS}</li>
  </ul>
  
  @param expressions list of expressions to extract names from
  @return corresponding list of optional names