private static void OnTransferDataComputed(ParallelTasks.WorkData workData)
        {
            TransferData transferData = workData as TransferData;
            if (transferData == null)
            {
                workData.FlagAsFailed();
                return;
            }

            transferData.StoreTransferState();

            Tuple<IMyConveyorEndpointBlock, IMyConveyorEndpointBlock> tuple = new Tuple<IMyConveyorEndpointBlock, IMyConveyorEndpointBlock>(transferData.m_start, transferData.m_endPoint);
            lock (m_currentTransferComputationTasks)
            {
                m_currentTransferComputationTasks.Remove(tuple);
            }
        }
        private static void ComputeTransferData(ParallelTasks.WorkData workData)
        {
            TransferData transferData = workData as TransferData;
            if (transferData == null)
            {
                workData.FlagAsFailed();
                return;
            }

            transferData.ComputeTransfer();
        }