public Flyweight getFlyweight( String key){
    if( flyweightPool.containsKey( key)) {
    return flyweightPool.get( key);
    } else {
    Flyweight flyweight ;
    if("add".equals( key)) {
    flyweight = new FlyweightAdder() ;
    } else {
    flyweight = new FlyweightMultiplier() ;
    }
    flyweightPool.put( key , flyweight);
    return flyweight ;
    }
    }