public SyncInfo getSyncInfo(IResource resource) throws TeamException {
synchronized (_refreshLock) {
try {
if (isPluginResource(resource)) {
IResourceVariant variant = null;
PluginInfo remotePluginInfo = _remotePluginInfos.get(resource);
if (remotePluginInfo != null) {
variant = new WGAPluginResourceVariant(_server, remotePluginInfo);
}
PluginInfo localPluginInfo = _localPluginInfos.get(resource);
SyncInfo info = new WGAPluginResourceSyncInfo(_runtime, _server, resource, localPluginInfo, variant, _remoteWGAVersion);
info.init();
return info;
} else {
IResourceVariant variant = null;
FSDesignResourceState state = _remoteStatesByResource.get(resource);
if (state != null) {
variant = new WGAFSDesignResourceVariant(_server, state);
}
LocalFSDesignResourceState localState = _localStatesByResource.get(resource);