code: public ResponseAggregate aggregateResponse(ResponseAggregate responseAggregate) {
          if (collectionMatch.isExactMatch()) {
              MatchResponse exactMatchResponse = merge(responseAggregate.getExactMatchResponse());;
              responseAggregate.setExactMatchResponse(exactMatchResponse);
          } else if (collectionMatch.isPathMatch() && collectionMatch.getUrlPattern().length() > responseAggregate.getLongestPathUrlPattern().length()) {
              responseAggregate.setPathMatchResponse(this);
              responseAggregate.setLongestPathUrlPattern(collectionMatch.getUrlPattern());
          } else if (collectionMatch.isPathMatch() && collectionMatch.getUrlPattern().length() == responseAggregate.getLongestPathUrlPattern().length()) {
              MatchResponse pathMatchResponse = merge(responseAggregate.getPathMatchResponse());
              responseAggregate.setPathMatchResponse(pathMatchResponse);
              responseAggregate.setLongestPathUrlPattern(collectionMatch.getUrlPattern());
          } else if (collectionMatch.isExtensionMatch()) {
              MatchResponse extensionMatchResponse = merge(responseAggregate.getExtensionMatchResponse());
              responseAggregate.setExtensionMatchResponse(extensionMatchResponse);
          } else if (collectionMatch.isDenyMatch()) {
              MatchResponse denyMatchResponse = merge(responseAggregate.getDenyMatchResponse());
              responseAggregate.setDenyMatchResponse(denyMatchResponse);
          } else if (collectionMatch.isDenyMatchByOmission()) {
              MatchResponse denyMatchByOmissionResponse = merge(responseAggregate.getDenyMatchByOmissionResponse());
              responseAggregate.setDenyMatchByOmissionResponse(denyMatchByOmissionResponse);
          }
          return responseAggregate;
      }
docs: This method will aggregate the responses based on this match response type.
  <pre>
  To aggregate the response,
  
  1. If exact match, then merge response with previous exact match responses.
  2. Else if path match with longest URL pattern, then override previous path match responses.
  3. Else if path match with same length as longest URL pattern found, then merge with previous path match responses.
  4. Else if extension match, then merge with previous extension match responses.
  </pre>
  
  @param responseAggregate
  @return The aggregated responses.