private int loadTurnInstructionSoundBatch(int distanceToWaypoint, Waypoint wpt) {
        // Distance to be used in primary instruction, e.g. 100 if instruction is
        // "In 100 meters, turn left"
        int primaryInstructionDistance = getNextTurnInstructionDistance(distanceToWaypoint);
        
        //check if there are distance to play
        if (primaryInstructionDistance == NO_DISTANCE) return NO_DISTANCE;
        
        Waypoint nextWpt = wpt.getNext();
        // Don't load a "normal" turn instruction for the last turn in the route.
        // "You are at destination!"
        // Instead we should play "You have reached your destination"
        if ((primaryInstructionDistance == 0) && nextWpt == null) {
            // don't trigger any more turn instructions in this route
            return NO_DISTANCE;
        } 
        // Use secondary turn instruction if distance to next next turn <
        // SECONDARY_MAXIM_DISTANCE (150m)
        if (nextWpt != null
                && nextWpt.getDistanceMetersFromPrev() < SECONDARY_MAXIM_DISTANCE) {
            // Distance to be used in secondary turn instruction, e.g. 100 if
            // instruction is:
            // "In 200 meters turn left, then in a 100 meters turn right"
            int secondaryInstructionDistance = getTurnInstructionDistance(nextWpt
                    .getDistanceMetersFromPrev());

            // load the sound batch
            m_currentTurnResponse = m_syntaxTree.getSyntaxResponse(
                    SyntaxTree.TYPE_TURN_INSTRUCTION, wpt,
                    primaryInstructionDistance, nextWpt,
                    secondaryInstructionDistance, 0);
        } else {
            // avoid secondary instruction
            m_currentTurnResponse = m_syntaxTree.getSyntaxResponse(
                    SyntaxTree.TYPE_TURN_INSTRUCTION, wpt,
                    primaryInstructionDistance, null, 0, 0);
        }
        // Test is we have actually something to play
        // SyntaxTree could have no sounds for this turn
        if (m_currentTurnResponse != null) {
            m_currentTurnInstruction = m_soundPool.loadSoundSequence(
                            m_currentTurnResponse.getSoundsInternalArray(),
                            m_currentTurnResponse.getDurationsInternalArray());
            return primaryInstructionDistance;
        } else {
            if (LOG.isInfo()) {
                LOG.info("NavigationSoundHandler.loadTurnInstructionSoundBatch()",
                         "No sounds in SynntaxTree for turn " + m_nextWpt);
            }
            return NO_DISTANCE;
        }   
        
    }