if (value instanceof Number)  return value; if (value instanceof Character)  return value; if (value instanceof Boolean)  return value;
		protected static Object cloneValue(Object value) {			if (value == null)				return null;			if (value instanceof String) /* shortcut String */				return (value);			Class clazz = value.getClass();			if (clazz.isArray()) {				// Do an array copy				Class type = clazz.getComponentType();				int len = Array.getLength(value);				Object clonedArray = Array.newInstance(type, len);				System.arraycopy(value, 0, clonedArray, 0, len);				return clonedArray;			}			// must use reflection because Object clone method is protected!!			try {				return (clazz.getMethod("clone", null).invoke(value, null)); //$NON-NLS-1$			} catch (Exception e) {				/* clone is not a public method on value's class */			} catch (Error e) {				/* JCL does not support reflection; try some well known types */				if (value instanceof Vector)					return (((Vector) value).clone());				if (value instanceof Hashtable)					return (((Hashtable) value).clone());			}			return (value);		}