code: public Optional<FieldReferenceExpression> lookupField(String name) {
  		List<FieldReferenceExpression> matchingFields = fieldReferences.stream()
  			.map(input -> input.get(name))
  			.filter(Objects::nonNull)
  			.collect(toList());
  
  		if (matchingFields.size() == 1) {
  			return Optional.of(matchingFields.get(0));
  		} else if (matchingFields.size() == 0) {
  			return Optional.empty();
  		} else {
  			throw failAmbigousColumn(name);
  		}
  	}
docs: Tries to resolve {@link FieldReferenceExpression} using given name in underlying inputs.
  
  @param name name of field to look for
  @return resolved field reference or empty if could not find field with given name.
  @throws org.apache.flink.table.api.ValidationException if the name is ambiguous.