Refactoring descriptors are exposed by the refactoring history service as
lightweight proxy objects. Refactoring descriptor proxies have an efficient
memory representation and are therefore suited to model huge refactoring
histories which may be displayed in the user interface. The refactoring
history service may hand out any number of proxies for a given descriptor.
Proxies only offer direct access to the time stamp getTimeStamp(),
the related project getProject() and description
getDescription(). In order to access other information such as
arguments and comments, clients have to call
requestDescriptor(IProgressMonitor) in order to obtain the actual
refactoring descriptor.

Refactoring descriptors are potentially heavy weight objects which should not
be held on to. Proxies which are retrieved from external sources (e.g. not
from the local refactoring history service) may encapsulate refactoring
descriptors and should not be held in memory as well.

All time stamps are measured as the milliseconds since January 1, 1970,
00:00:00 GMT.