public abstract static class MetadataEnvironmentThread.Resources
Resources that need to be propagated from the main thread to the new
thread. The objects of this class must be constructed in the main
thread and passed into the new thread. The methods must be called in the
new threads to initialize and finalize the resources for the new thread.
In other words, the code that collects the information from the main
thread must be in the constructors while the code that handles the
resources in the new thread must be in the initialize/finalize methods.