protected List<Shape> getAvoidList (Name speaker)
    {
        List<Shape> avoid = Lists.newArrayList();
        if (_provider == null) {
            return avoid;
        }

        // for now we don't accept low-priority avoids
        _provider.getAvoidables(speaker, avoid, null);

        // add the existing chatbub non-tail areas from other speakers
        for (BubbleGlyph bub : _bubbles) {
            if (!bub.isSpeaker(speaker)) {
                avoid.add(bub.getBubbleTerritory());
            }
        }

        return avoid;
    }
protected List < Shape > getAvoidList ( Name speaker ) { List < Shape > avoid = Lists . newArrayList ( ) ; if ( _provider == null ) { return avoid ; } _provider . getAvoidables ( speaker , avoid , null ) ; for ( BubbleGlyph bub : _bubbles ) { if ( ! bub . isSpeaker ( speaker ) ) { avoid . add ( bub . getBubbleTerritory ( ) ) ; } } return avoid ; }
Return a list of rectangular areas that we should avoid while laying out a bubble for the
specified speaker.