code: private List<ProducerAO> getFilteredProducers(String intervalName, TimeUnit timeUnit, String category, String subsystem) throws APIException {
          if (!StringUtils.isEmpty(category)) {
              return getProducerAPI().getAllProducersByCategory(category, intervalName, timeUnit, true);
          }
  
          if (!StringUtils.isEmpty(subsystem)) {
              return getProducerAPI().getAllProducersBySubsystem(subsystem, intervalName, timeUnit, true);
          }
  
          return getProducerAPI().getAllProducers(intervalName, timeUnit, true);
      }
docs: Returns list of producers filtered by category and / or subsystem.
  @param intervalName Currently used interval name
  @param timeUnit Currently used time unit
  @param category Producer category name
  @param subsystem Producer subsystem name