/** {@inheritDoc} */
  protected BaseAttribute<String> doResolve(ShibbolethResolutionContext resolutionContext) {
    BasicAttribute<String> attribute = new BasicAttribute<String>();
    attribute.setId(getId());

    String authnMethod =
        resolutionContext.getAttributeRequestContext().getPrincipalAuthenticationMethod();
    if (!DatatypeHelper.isEmpty(authnMethod)) {
      attribute.getValues().add(authnMethod);
    }

    return attribute;
  }
  /** {@inheritDoc} */
  protected BaseAttribute<?> doResolve(ShibbolethResolutionContext resolutionContext)
      throws AttributeResolutionException {
    BasicAttribute<NameIdentifier> attribute = new BasicAttribute<NameIdentifier>();
    attribute.setId(getId());

    Collection<?> values = getValuesFromAllDependencies(resolutionContext);
    if (values != null && !values.isEmpty()) {
      for (Object value : values) {
        attribute.getValues().add(buildNameId(value.toString(), resolutionContext));
      }
    }

    return attribute;
  }