code: public Iterable<BoxLegalHoldAssignment.Info> getAssignments(String type, String id, int limit, String ... fields) {
          QueryStringBuilder builder = new QueryStringBuilder();
          if (type != null) {
              builder.appendParam("assign_to_type", type);
          }
          if (id != null) {
              builder.appendParam("assign_to_id", id);
          }
          if (fields.length > 0) {
              builder.appendParam("fields", fields);
          }
          return new BoxResourceIterable<BoxLegalHoldAssignment.Info>(
                  this.getAPI(), LEGAL_HOLD_ASSIGNMENTS_URL_TEMPLATE.buildWithQuery(
                      this.getAPI().getBaseURL(), builder.toString(), this.getID()), limit) {
  
              @Override
              protected BoxLegalHoldAssignment.Info factory(JsonObject jsonObject) {
                  BoxLegalHoldAssignment assignment = new BoxLegalHoldAssignment(
                          BoxLegalHoldPolicy.this.getAPI(), jsonObject.get("id").asString());
                  return assignment.new Info(jsonObject);
              }
          };
      }
docs: Returns iterable containing assignments for this single legal hold policy.
  Parameters can be used to filter retrieved assignments.
  @param type filter assignments of this type only.
  Can be "file_version", "file", "folder", "user" or null if no type filter is necessary.
  @param id filter assignments to this ID only. Can be null if no id filter is necessary.
  @param limit the limit of entries per page. Default limit is 100.
  @param fields the fields to retrieve.
  @return an iterable containing assignments for this single legal hold policy.