@SuppressWarnings({ "rawtypes", "cast" })
	public static Class<? extends Collection> getInstantiableCollectionType(Class<? extends Collection<?>> theCollectionType, String thePositionDescription) {
		if (theCollectionType.equals(List.class) || theCollectionType .equals(ArrayList.class)) {
			return (Class<? extends Collection>) ArrayList.class;
		} else if (theCollectionType .equals( Set.class )|| theCollectionType .equals( HashSet.class)) {
			return (Class<? extends Collection>) HashSet.class;
		} else if (theCollectionType.equals(Collection.class)) {
			return (Class<? extends Collection>) ArrayList.class;
		} else {
			throw new ConfigurationException("Unsupported binding collection type '" + theCollectionType.getCanonicalName() + "' for " + thePositionDescription);
		}
	}
@ SuppressWarnings ( { "rawtypes" , "cast" } ) public static Class < ? extends Collection > getInstantiableCollectionType ( Class < ? extends Collection < ? > > theCollectionType , String thePositionDescription ) { if ( theCollectionType . equals ( List . class ) || theCollectionType . equals ( ArrayList . class ) ) { return ( Class < ? extends Collection > ) ArrayList . class ; } else if ( theCollectionType . equals ( Set . class ) || theCollectionType . equals ( HashSet . class ) ) { return ( Class < ? extends Collection > ) HashSet . class ; } else if ( theCollectionType . equals ( Collection . class ) ) { return ( Class < ? extends Collection > ) ArrayList . class ; } else { throw new ConfigurationException ( "Unsupported binding collection type '" + theCollectionType . getCanonicalName ( ) + "' for " + thePositionDescription ) ; } }
@param thePositionDescription Just used in exceptions if theCollectionType is invalid