This time, the "last" vestige of the 2.1.0 version number.(cherry picked from commit 0defc6be360e9057b11d13acdd985ff7d35c1c47)
Add checks if the underlying project closed/not exists

There are scenarios, where project depends on other, closed projects -
this happens with IvyDE, which adds even closed projects to the dependency
list (of course, in that case, the generated jars added as well), but
these closed projects cause build failures for ScalaIDE, because it
doesn't expects that the underlying IJavaProject could throw exceptions.
So the general fix is to add checks before calling the critical methods,
and a catch block with logging.
 This fixes #1001465
Attempt to fix spurious errors in the PC test suite.
Merge pull request #298 from gzsombor/handle-exceptions-with-closed-projects-for-3.0.x

Add checks if the underlying project closed/not exists
Use a Job when reading classpath markers in test.

The source of flaky tests was race condition in the classpath validator:
* one thread removed the old markers and adds the new ones
* the test thread waits until it finds a marker (which can happen before they are
removed) and reads them again for validation (which can happen between 'delete'
and 'add')

The proper solution is to put the test reads inside a `Job` that is scheduled
on the same resource (the project), leading to proper synchronization.(cherry picked from commit 7596e4ca9fa76e55c01fa08c5bbedbed9f553634)
Merge pull request #307 from dragos/backport/flaky-classpath-test

[backport] Use a Job when reading classpath markers in test.
Disabled flaky debugger ``RemoteConnectorTest`` tests class

Re #1001464
(cherry picked from commit b0087295001c01757a8a44c450be97d4c9c74fa5)
The keyword 'requires' is no longer shown as keyword

The parsing is done by Scalariform. Because it treats 'requires' still as a keyword,
it needs to be translated to default content type.

Fix #1000750
Reformatting of ScalariformToSyntaxClass
Merge pull request #312 from dotta/backport/disable-debugger-remote-tests-1001464

[backport] Disabled flaky debugger ``RemoteConnectorTest`` tests class
Merge pull request #313 from sschaef/issue/backport-requires-keyword

[backport] Issue/backport requires keyword
Added a Scala preference for Mark Occurrences

Added a toolbar button for quick access.
Fixes #1001466
Fixes problems in preference state sharing

Using only Boolean, and correctly starting the toggle handler listener.
Merge pull request #314 from skyluc/backport/mark-occurrence-preference-1001466

backport/mark occurrence preference 1001466
Initialize symbols for primitive types on compiler startup.

The nightly build uncovered a race condition in the indexer, that stepped on
a case where `definitions.ShortClass` was not yet loaded, triggering the
symbol loader.

Needs back port. Should fix flaky presentation compiler tests.(cherry picked from commit bed8bfab1d2ffaa8691760f87856be969a7cbc56)
Adds a preference for the classpath validator

The preference allows to disable the search for jars not compatible with the current version of Scala.
Limits the check to possible version of Scala >=2.8.0.

Fixes #1001482
Adds an extractor to check incompatible versions

The code is more self-contained.
Adds documentation to classpath validator.
Make stepping as fast as in the JDT debugger.

Two performance improvements in the way we handle stack frames:

* make `variables` lazy. This way we don't retrieve variables values
  unless they are needed (most of the times, they are needed for only one
  frame in a full thread stack). Retrieving values requires a roundtrip
  to the debugged VM, hitting the network stack.

* don't fire DebugEvents for creation of stack frames. This is the
  time consuming part: each frame (can be hundreds) fires one CREATE
  event that is put in a queue and a job-dispatch is scheduled to run for
  *each* frame in part. This floods the event queue and leads to
  lag times in the order of seconds (depending on the stack depth).

I checked (in the debugger) that the JDT debugger does not fire CREATE
events for stack frames, so I'm suggesting we do the same thing.(cherry picked from commit 96de8f0bea8eb5dcd7b6091e4a9406ba135d4eef)
Revert "Merge pull request #269 from mads379/parsetree-1001326"

The parse-tree changes have been merged in Scala [pull 1982](https://github.com/scala/scala/pull/1982),
so there is no need for it anymore. Moreover, the presentation compiler must *not* be interrupted
while parsing on a foreign thread, and that can't be ensured in this commit (but is correctly ensured
in the Scala changeset). Since this branch is used with 2.9.3, there is a potential for race conditions.

This reverts commit 712e6bf5eb983a18aac03294c0656519d53ac634, reversing
changes made to 4f7b391cf1a64c6d906263afc2ebd0928bf4cb4d.