code: @GET
      public List<Penalty> getPenalties(
              @QueryParam("agreementId") String agreementId,
              @QueryParam("guaranteeTerm") String guaranteeTerm,
              @QueryParam("begin") DateParam begin, @QueryParam("end") DateParam end) throws InternalException{
  
          logger.debug("StartOf  getPenalties REQUEST for /penalties/?agreementId={}&guaranteeTerm={}&begin={}&end={}",
                  agreementId, guaranteeTerm, begin, end);
  
          Date dBegin = (begin == null)? null : begin.getDate();
          Date dEnd = (end == null)? null : end.getDate();
          PenaltyHelperE penaltyRestHelper = getPenaltyHelper();
          List<Penalty> penalties;
          try{
              penalties = penaltyRestHelper.getPenalties(agreementId, guaranteeTerm, dBegin, dEnd);
          } catch (ParserHelperException e) {
              throw new InternalException(e.getMessage());
          }
          logger.debug("EndOf getPenalties");
          return penalties;
      }
docs: Search penalties given several query terms.
  
  If no parameters specified, return all penalties.
  
  @param agreementId
  @param guaranteeTerm
  @param begin
  @param end
  @return penalties according to parameters in the query string.