Pattern: proxy, java flavour
Pattern: flyweight, java flavour