private ContainerCmdletProvider GetContainerProviderByPath(string path, string name, out Path normalizedPath) { PSDriveInfo drive; var provider = _cmdlet.State.SessionStateGlobal.GetProviderByPath(path, out drive) as ContainerCmdletProvider; if (provider == null) { throw new PSInvalidOperationException(String.Format("The provider for path '{0}' is not a ContainerProvider", path)); } normalizedPath = new Path(path); if (!String.IsNullOrEmpty(name)) { normalizedPath = normalizedPath.Combine(name); } normalizedPath = normalizedPath.NormalizeSlashes(); return provider; }