dstPhaseHigh = numInitDstExec + numSteadyDstExec - 1;
dstPhaseHigh = numInitDstExec + numSteadyDstExec;
    public int getDstPhase4SrcPhase(int nSrcPhase)    {        // first have to figure out if I need to "wrap around"        int addDstPhase = 0;        if (nSrcPhase > numInitSrcExec + numSteadySrcExec)        {            int fullExecs = (nSrcPhase - numInitSrcExec) / numSteadySrcExec;            addDstPhase = fullExecs * numSteadyDstExec;            fullExecs =                numInitSrcExec                    + (numInitSrcExec - numInitSrcExec) % numSteadySrcExec;        }        int dstPhaseLow = 0,            dstPhaseHigh = numInitDstExec + numSteadyDstExec - 1;        while (dstPhaseHigh - dstPhaseLow > 1)        {            int dstPhaseMid = (dstPhaseLow + dstPhaseHigh) / 2;            if (dst2srcDependency[dstPhaseMid] > nSrcPhase)            {                dstPhaseHigh = dstPhaseMid;            }            else            {                dstPhaseLow = dstPhaseMid;            }        }        int dstPhase;        if (dst2srcDependency[dstPhaseLow] >= nSrcPhase)        {            dstPhase = dstPhaseLow;        }        else        {            dstPhase = dstPhaseHigh;        }        return dstPhase + addDstPhase;    }