private static Set<DcsFormat> getFormatSet(SolrDocument doc) {
    Set<DcsFormat> set = new HashSet<DcsFormat>();

    String[] names = setgetAll(doc, FormatField.NAME);
    String[] schemas = setgetAll(doc, FormatField.SCHEMA);
    String[] versions = setgetAll(doc, FormatField.VERSION);
    String[] formats = setgetAll(doc, FormatField.FORMAT);

    for (int i = 0; i < formats.length; i++) {
      DcsFormat fmt = new DcsFormat();

      if (formats[i] != null) fmt.setFormat(formats[i]);
      if (names[i] != null) fmt.setName(names[i]);
      if (schemas[i] != null) fmt.setSchemeUri(schemas[i]);
      if (versions[i] != null) fmt.setVersion(versions[i]);

      set.add(fmt);
    }

    return set;
  }