docs: 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);
  		}
  	}