internal override void PerformReadWrite(ref ReadWriteRequest[] values, string parentID,
                                                bool suppressEthernetHeader)
        {
            SplitAndJoin            splitAndJoin      = new SplitAndJoin(m_BufferSize);
            List <ReadWriteRequest> splitRequestsList = new List <ReadWriteRequest>();

            for (int iter = 0; iter < values.Length; iter++)
            {
                switch (values[iter].GetType().ToString().Substring(42))
                {
                case "ReadOperands":
                case "WriteOperands":
                    splitAndJoin.AddNewRequest(values[iter], iter, false);
                    break;

                default:
                    throw new ComDriveExceptions(
                              "Unexpected error. Actual request type doesn't match the expected type",
                              ComDriveExceptions.ComDriveException.UnexpectedError);
                }
            }

            if (splitAndJoin.FinishSpliting())
            {
                ExecuteRequests(ref values, parentID, splitAndJoin);
            }
        }