public static List<Optional<String>> extractNames(List<Expression> expressions) {
		return expressions.stream().map(OperationExpressionsUtils::extractName).collect(Collectors.toList());
	}
public static List < Optional < String > > extractNames ( List < Expression > expressions ) { return expressions . stream ( ) . map ( OperationExpressionsUtils :: extractName ) . collect ( Collectors . toList ( ) ) ; }
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