Constructors and methods receiving arrays should clone objects and store the copy. This prevents that future changes from the user affect the internal functionality.