/// <summary>
        /// The ProcessRecord instantiates a FileRecord objects that
        /// corresponds to the file(s) that is/are specified.
        /// </summary>
        protected override void ProcessRecord()
        {
            switch (ParameterSetName)
            {
            case "ByIndex":
                if (MyInvocation.BoundParameters.ContainsKey("Index"))
                {
                    WriteObject(FileRecord.Get(volume, indexNumber, true).GetMftSlack());
                }
                else
                {
                    WriteObject(MasterFileTable.GetSlack(volume));
                }
                break;

            case "ByPath":
                WriteObject(FileRecord.Get(path, true).GetMftSlack());
                break;

            case "MFTPath":
                WriteObject(MasterFileTable.GetSlackByPath(mftpath));
                break;
            }
        }