new extension point to help resolve environment files
diff --git a/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEEnvironment.java b/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEEnvironment.java
index 5040cf4..100a5ef 100644
--- a/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEEnvironment.java
+++ b/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEEnvironment.java
@@ -6,6 +6,7 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.dltk.core.environment.EnvironmentManager;
 import org.eclipse.dltk.core.environment.IEnvironment;
 import org.eclipse.dltk.core.environment.IFileHandle;
 import org.eclipse.rse.core.model.IHost;
@@ -96,6 +97,15 @@
 				&& locationURI.getHost().equals(host.getHostName())) {
 			return new RSEFileHandle(this, locationURI);
 		} else {
+			final URI[] resolved = EnvironmentManager.resolve(locationURI);
+			for (int i = 0; i < resolved.length; ++i) {
+				final URI newLocation = resolved[i];
+				if (RSEEnvironmentProvider.RSE_SCHEME
+						.equalsIgnoreCase(newLocation.getScheme())
+						&& newLocation.getHost().equals(host.getHostName())) {
+					return new RSEFileHandle(this, newLocation);
+				}
+			}
 			return null;
 		}
 	}