/**
  * Calculate and propagate problem markers in the element model
  *
  * @param element the ssynchronize element
  */
 private void propagateProblemMarkers(ISynchronizeModelElement element) {
   IResource resource = element.getResource();
   if (resource != null) {
     String property = provider.calculateProblemMarker(element);
     // If it doesn't have a direct change, a parent might
     boolean recalculateParentDecorations = hadProblemProperty(element, property);
     if (recalculateParentDecorations) {
       ISynchronizeModelElement parent = (ISynchronizeModelElement) element.getParent();
       if (parent != null) {
         propagateProblemMarkers(parent);
       }
     }
   }
 }