class NameFieldProvider implements FieldProvider<Symbol> {

    private final AnalyzedRelation relation;

    public NameFieldProvider(AnalyzedRelation relation) {
        this.relation = relation;
    }

    @Override
    public Symbol resolveField(QualifiedName qualifiedName,
                               @Nullable List<String> path,
                               Operation operation,
                               boolean errorOnUnknownObjectKey) {<FILL_FUNCTION_BODY>}
}

        List<String> parts = qualifiedName.getParts();
        ColumnIdent columnIdent = new ColumnIdent(parts.get(parts.size() - 1), path);
        if (parts.size() != 1) {
            throw new IllegalArgumentException(String.format(Locale.ENGLISH,
                "Column reference \"%s\" has too many parts. " +
                "A column must not have a schema or a table here.", qualifiedName));
        }

        Symbol field = relation.getField(columnIdent, operation, errorOnUnknownObjectKey);
        if (field == null) {
            throw new ColumnUnknownException(columnIdent, relation.relationName());
        }
        return field;
    
<no_super_class>