private ArrayList<T> getList(Object... objects)
    {
    	ArrayList<T> l = new ArrayList<T>();
		for(Object obj : objects)
		{
			if(typeClass.isInstance(obj))
			{
				l.add(typeClass.cast(obj));
			}
			else
			{
				if(obj instanceof Object[])
				{
					l.addAll(getList((Object[])obj));
				}
				if(obj instanceof Collection)
				{
					l.addAll(getList(((Collection<?>)obj).toArray()));
				}
			}
		}
		return l;
    }