class TypeUtils {

	public static Type getResolvedSuperclass(Type type)
	{
		Utils.checkNotNull(type, "type");
		
		Class<?> rawType = getErasedReferenceType(type);
		Type supertype = rawType.getGenericSuperclass();
		
		if (supertype == null)
		{
			return null;
		}

		return resolveTypeVariables(supertype, type);
	}

	private  TypeUtils();

}