static String findName(Header header, Object nameRetrievalTarget) {
        requireNonNull(nameRetrievalTarget, "nameRetrievalTarget");

        final String value = header.value();
        if (DefaultValues.isSpecified(value)) {
            checkArgument(!value.isEmpty(), "value is empty.");
            return value;
        }
        return toHeaderName(getName(nameRetrievalTarget));
    }
Returns the value of the {@link Header} annotation which is specified on the {@code element} if
the value is not blank. If the value is blank, it returns the name of the specified
{@code nameRetrievalTarget} object which is an instance of {@link Parameter} or {@link Field}.

<p>Note that the name of the specified {@code nameRetrievalTarget} will be converted as
{@link CaseFormat#LOWER_HYPHEN} that the string elements are separated with one hyphen({@code -})
character. The value of the {@link Header} annotation will not be converted because it is clearly
specified by a user.
core/src/main/java/com/linecorp/armeria/internal/server/annotation/AnnotatedElementNameUtil.java