class EntityTagHeaderProvider implements HeaderDelegate<EntityTag> {

    public String toString(EntityTag tag) {
        StringBuilder sb = new StringBuilder();
        if (tag.isWeak()) {
            sb.append(WEAK_PREFIX);
        }
        String tagValue = tag.getValue();
        if (!tagValue.startsWith("\"")) {
            sb.append('"').append(tagValue).append('"');
        } else {
            sb.append(tagValue);
        }
        return sb.toString();
    }

}