public static <T> boolean areEqual(T[] a1, T[] a2, boolean strict)
	{
		int l = Math.min(a1.length, a2.length);
		for (int i = 0; i < l; i++)
		{
			T a = a1[i];
			T b = a2[i];
			if (a != null && b != null && a.equals(b))
			{
				continue;
			}
			return false;
		}
		return strict ? a1.length == a2.length : true;
	}