interface Container { 
    void add(Object child); 
} 

abstract class Panel implements Container { 
    void add(String text) { 
        // this is NOT the implementation of the interface method 
    } 
} 

class Bug { 
    <P extends Panel> void bug(P panel, Iterable<Object> children) { 
        children.forEach(panel::add); 
    } 
} 
