public List<CmsProperty<?, ?>> filterScheduledContentAreasForSelectedContentArea( ContentObject contentObject) { List<CmsProperty<?, ?>> filteredScheduledContentAreas = new ArrayList<CmsProperty<?, ?>>(); if (contentObject != null && selectedContentArea != null) { List<CmsProperty<?, ?>> scheduledContentAreas = contentObject .getComplexCmsRootProperty() .getChildPropertyList("scheduledContentAreaListType.scheduledContentArea"); for (CmsProperty<?, ?> scheduledContentArea : scheduledContentAreas) { CmsProperty<?, ?> contentAreaProperty = ((ComplexCmsProperty<?, ?>) scheduledContentArea).getChildProperty("contentArea"); if (contentAreaProperty != null && !((TopicReferenceProperty) contentAreaProperty).hasNoValues() && ((TopicReferenceProperty) contentAreaProperty) .getSimpleTypeValue() .getId() .equals(selectedContentArea.getId())) { filteredScheduledContentAreas.add(scheduledContentArea); } } } return filteredScheduledContentAreas; }