clone

This makes public the clone method on the Object class and
removes the exception that it throws. Its default behavior is to
automatically create a clone of the exact type of object that the
clone is called on and to copy all primitives but to keep all references,
which means it is a shallow copy.
Extensions of this class may want to override this method (but call
super.clone() to implement a "smart copy". That is, to target
the most common use case for creating a copy of the object. Because of
the default behavior being a shallow copy, extending classes only need
to handle fields that need to have a deeper copy (or those that need to
be reset). Some of the methods in ObjectUtil may be helpful in
implementing a custom clone method.
Note: The contract of this method is that you must use
super.clone() as the basis for your implementation.

createNamedValuesList

Creates a list of named values from a collection of named objects. This
is useful for cases where objects may have a name but that name is not
the toString representation of the object but you want to treat it as
such, by using DefaultNamedValue. This new list of
DefaultNamedValues can then be used to represent the values by their
name via toString. This is useful in some GUI applications.
Note that this is not meant to be used with existing DefaultNamedValue
objects because it will just end up putting another DefaultNamedValue
wrapper around it.

Type Parameters:

T - The value type.

Parameters:

values - The values to created a named-value list from.

Returns:

A new list of named-values with the name of the object as the
name and the value as the value.