protected Node[] getNodesToLock() throws UsecaseException {
try {
List nodes = new ArrayList();
DocumentSet set = new DocumentSet();
Document doc = getSourceDocument();
NodeSet subsite = SiteUtil.getSubSite(this.manager, doc.getLink().getNode());
set.addAll(new DocumentSet(subsite.getDocuments()));
Document[] documents = set.getDocuments();
for (int i = 0; i < documents.length; i++) {
nodes.add(documents[i].getRepositoryNode());
}
Area live = doc.getPublication().getArea(Publication.LIVE_AREA);
nodes.add(live.getSite().getRepositoryNode());
return (Node[]) nodes.toArray(new Node[nodes.size()]);
} catch (Exception e) {
throw new UsecaseException(e);