private void compileCollection(CompiledObjectCollectionView existingView, GuiObjectListViewType objectListViewType, Task task, OperationResult result) throws SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException {
CollectionRefSpecificationType collectionSpec = objectListViewType.getCollection();
if (collectionSpec == null) {
ObjectReferenceType collectionRef = objectListViewType.getCollectionRef();
if (collectionRef == null) {
return;
}
collectionSpec = new CollectionRefSpecificationType();
collectionSpec.setCollectionRef(collectionRef.clone());
}
if (existingView.getCollection() != null) {
LOGGER.debug("Redefining collection in view {}", existingView.getViewIdentifier());
}
existingView.setCollection(collectionSpec);
compileCollection(existingView, collectionSpec, task, result);
}