private String getDefaultedRelFor(EmbeddedWrapper wrapper, boolean forCollection) {

    String valueRel = wrapper.getRel();

    if (StringUtils.hasText(valueRel)) {
      return valueRel;
    }

    if (provider == null) {
      return DEFAULT_REL;
    }

    Class<?> type = wrapper.getRelTargetType();

    if (type == null) {
      throw new IllegalStateException(String.format(INVALID_EMBEDDED_WRAPPER, wrapper));
    }

    String rel =
        forCollection
            ? provider.getCollectionResourceRelFor(type)
            : provider.getItemResourceRelFor(type);

    if (curieProvider != null) {
      rel = curieProvider.getNamespacedRelFor(rel);
    }

    return rel == null ? DEFAULT_REL : rel;
  }