What implementations of the Prototype Pattern exist on the Java platform?
A prototype pattern is a creational design pattern used in software development when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects.
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse (known as inheritance in class-based languages) is performed via a process of cloning existing objects that serve as prototypes.
The implementation should be aware that some Java objects are mutable, and some are immutable (see Mutable vs Immutable objects).