private static DcsCollection getCollection(SolrDocument doc) {
    DcsCollection col = new DcsCollection();

    col.setId(get(doc, EntityField.ID));

    if (has(doc, CollectionField.PARENT)) {
      col.setParent(getCollectionRef(doc, CollectionField.PARENT));
    }

    if (has(doc, CoreMetadataField.TYPE)) {
      col.setType(get(doc, CoreMetadataField.TYPE));
    }

    if (has(doc, CoreMetadataField.TITLE)) {
      col.setTitle(get(doc, CoreMetadataField.TITLE));
    }

    col.setMetadata(getMetadataSet(doc));
    col.setMetadataRef(col.getMetadataRef());

    col.setSubjects(getStringSet(doc, CoreMetadataField.SUBJECT));
    col.setAlternateIds(getResourceIdentifierSet(doc));

    return col;
  }