@Override
  public List<KeyValue> getKeyValues() {
    final SubAwardDocument doc = (SubAwardDocument) getDocument();
    final StringBuilder fundingValues = new StringBuilder();
    final Long subawardID = doc.getSubAward().getSubAwardId();
    final List<KeyValue> keyValues = new ArrayList<>();
    final Collection<SubAwardFundingSource> fundingSource =
        getBusinessObjectService()
            .findMatching(
                SubAwardFundingSource.class, Collections.singletonMap("subAwardId", subawardID));

    for (SubAwardFundingSource subAwardFunding : fundingSource) {
      fundingValues.append(subAwardFunding.getAward().getAwardNumber());
      keyValues.add(
          new ConcreteKeyValue(
              subAwardFunding.getSubAwardFundingSourceId().toString(),
              "Award:" + subAwardFunding.getAward().getAwardNumber()));
    }
    if (fundingValues.length() == 0) {
      keyValues.add(
          0, new ConcreteKeyValue("", "No Funding Source has been added to this Subaward"));
    }
    return keyValues;
  }