code: public Set<DataUsage> getDataUsageFor(String activity, String attribute) throws CompatibilityException {
                  validateActivity(activity);
                  validateAttribute(attribute);
                  if (activityDataUsage.get(activity) == null) {
                          return new HashSet<>(); //No input data elements for this activity
                  }
                  if (activityDataUsage.get(activity).get(attribute) == null) {
                          return new HashSet<>(); //Attribute not used by the given activity
                  }
                  return Collections.unmodifiableSet(activityDataUsage.get(activity).get(attribute));
          }
docs: Returns the usage of the given data attribute by the given
  activity.<br>
  If the given attribute is not used as input by the given activity,
  the returned set contains no elements. The given activity/attribute
  have to be known by the context, i.e. be contained in the
  activity/attribute list.
  
  @param activity Activity for which the usage is requested.
  @param attribute Attribute used by the given activity.
  @return The usage of the given data attribute by the given activity.
  @throws ParameterException
  @throws CompatibilityException
  @throws IllegalArgumentException IllegalArgumentException If the
  given activity/attribute is not known.
  @see #getActivities()
  @see #getAttributes()