code: public static <C> C convert(Class<C> type, Object value) {
  		return (C)convert((Object)type,value);
  	}
docs: Convert an object to the specified type. A type conversion object must
  have been previously registered for the provided class in order for the
  conversion to succeed (with one exception, see below).<p>
  
  Value objects that implement {@link Listener} interface will be notified
  of type conversion via the event methods declared in that interface.
  Value objects that implement {@link Convertible} will be asked for
  an instance of {@link Conversion} directly, and the returned object
  will be used to convert the type instead of the registered type
  conversion object. These interfaces can be used to customize the type
  conversion process.<p>
  
  Note, this method will check if the provided value is the same as or a
  subclass of the specified class. If it is, this method returns the value
  object immediately without attempting to convert its type.  One
  exception to this rule is if the provided type key is
  {@link Object.class}, in which case the conversion is attempted anyway.
  The reason for this deviation is that this key may have special meaning
  based on the type of the provided value.  For example, if the provided
  value is a byte array, the {@link ObjectTypeConversion} class assumes
  it is a serialized object and attempts to deserialize it.  Because
  all objects, including arrays, are of type {@link Object},
  this conversion would never be attempted without this special
  handling. (Note that the default conversion for type
  {@link Object.class} is to simply return the original object.)
  
  @param	type
  The target type to which to convert the value
  @param	value
  The value to convert to the specified target type
  @return	The converted value object, or <code>null</code> if the
  original value is <code>null</code>