/** Annotation model listener added to all created CU annotation models */
  public ApexDocumentProvider() {
    IDocumentProvider provider = new TextFileDocumentProvider();
    provider =
        new ForwardingDocumentProvider(
            IJavaPartitions.JAVA_PARTITIONING, new JavaDocumentSetupParticipant(), provider);
    setParentDocumentProvider(provider);

    fPropertyListener =
        new IPropertyChangeListener() {
          public void propertyChange(PropertyChangeEvent event) {
            if (HANDLE_TEMPORARY_PROBLEMS.equals(event.getProperty()))
              enableHandlingTemporaryProblems();
          }
        };
    ForceIdeEditorsPlugin.getDefault()
        .getPreferenceStore()
        .addPropertyChangeListener(fPropertyListener);
  }
 /**
  * Returns the preference whether handling temporary problems is enabled.
  *
  * @return <code>true</code> if temporary problems are handled
  */
 protected boolean isHandlingTemporaryProblems() {
   IPreferenceStore store = ForceIdeEditorsPlugin.getDefault().getPreferenceStore();
   return store.getBoolean(HANDLE_TEMPORARY_PROBLEMS);
 }