if (dso.getType() != Constants.ITEM) throw new CrosswalkObjectNotSupported("SimpleDCDisseminationCrosswalk can only crosswalk an Item.");  Item item = (Item)dso; DCValue[] allDC = item.getDC(Item.ANY, Item.ANY, Item.ANY);  List dcl = new ArrayList(allDC.length);  for (int i = 0; i < allDC.length; i++) {  if (!(allDC[i].element.equals("description") && (allDC[i].qualifier != null && allDC[i].qualifier.equals("provenance")))) { String element;   if (allDC[i].element.equals("contributor") && (allDC[i].qualifier != null) && allDC[i].qualifier.equals("author")) element = "creator"; else element = allDC[i].element; Element field = new Element(element, DC_NS); field.addContent(allDC[i].value); dcl.add(field); } } return dcl;
return disseminateListInternal(dso, true);
    public List disseminateList(DSpaceObject dso)        throws CrosswalkException,               IOException, SQLException, AuthorizeException    {        if (dso.getType() != Constants.ITEM)            throw new CrosswalkObjectNotSupported("SimpleDCDisseminationCrosswalk can only crosswalk an Item.");        Item item = (Item)dso;        DCValue[] allDC = item.getDC(Item.ANY, Item.ANY, Item.ANY);        List dcl = new ArrayList(allDC.length);        for (int i = 0; i < allDC.length; i++)        {            // Do not include description.provenance            if (!(allDC[i].element.equals("description") &&                  (allDC[i].qualifier != null && allDC[i].qualifier.equals("provenance"))))            {                String element;                // contributor.author exposed as 'creator'                if (allDC[i].element.equals("contributor")                        && (allDC[i].qualifier != null)                        && allDC[i].qualifier.equals("author"))                    element = "creator";                else                    element = allDC[i].element;                Element field = new Element(element, DC_NS);                field.addContent(allDC[i].value);                dcl.add(field);            }        }        return dcl;    }