Pattern: prototype, java flavour