/// <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"))
                {
                    if (asbytes)
                    {
                        WriteObject(FileRecord.GetRecordBytes(volume, indexNumber));
                    }
                    else
                    {
                        WriteObject(FileRecord.Get(volume, indexNumber, false));
                    }
                }
                else
                {
                    WriteObject(FileRecord.GetInstances(volume), true);
                }
                break;

            case "ByPath":
                if (asbytes)
                {
                    WriteObject(FileRecord.GetRecordBytes(path));
                }
                else
                {
                    WriteObject(FileRecord.Get(path, false));
                }
                break;

            /*case "MFTPathByIndex":
             *  if (asbytes)
             *  {
             *      //WriteObject(FileRecord.Get)
             *  }
             *  else
             *  {
             *
             *  }
             *  break;
             * case "MFTPathByPath":
             *  if (asbytes)
             *  {
             *
             *  }
             *  else
             *  {
             *
             *  }
             *  break;*/
            case "MFTPath":
                WriteObject(FileRecord.GetInstancesByPath(mftpath), true);
                break;
            }
        }