// Retrieve part name. The position points to the slash past the part name.
        // So simply return the prefix up to that slash.
        private static bool FindPartName(string path, ref int position, ref ScanStepDelegate nextStep,
                                         ref PieceNameInfo parseResults)
        {
            parseResults.PrefixName = path.Substring(0, position);

            // Subtract the length of the part name from position.
            position = 0;

            if (parseResults.PrefixName.Length == 0)
            {
                return(false);
            }

            Uri partUri = new Uri(ZipPackage.GetOpcNameFromZipItemName(parseResults.PrefixName), UriKind.Relative);

            PackUriHelper.TryValidatePartUri(partUri, out parseResults.PartUri);
            return(true);
        }