code: private Map<String, List<String>> stripEmptyParams(Map<String, List<String>> parameters) {
          Builder<String, List<String>> paramsBuilder = ImmutableMap.<String, List<String>>builder();
          for (Map.Entry<String, List<String>> entry : parameters.entrySet()) {
              if(entry.getValue() != null && !entry.getValue().isEmpty()) {
                  paramsBuilder.put(entry.getKey(), entry.getValue());
              }
          }
          return paramsBuilder.build();
      }
docs: Returns URL parameters after removing any that have an empty list in them.
  For optional list arguments, we pass an empty list to the API method. This generates
  an entry like includes[]= with no value. This function strips them out so we only
  pass parameters to Canvas that have a value to send along.