Fix includingRange() for Long.
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java
index 7e83030..926741f 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java
@@ -277,8 +277,8 @@
 		 */
 		@Override
 		public boolean contains(Object o) {
-			if (o instanceof Integer) {
-				final Integer obj = (Integer) o;
+			if (o instanceof Long) {
+				final Long obj = (Long) o;
 				return (obj >= first && obj <= last);
 			}
 			return false;
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java
index ff14823..ae2a71b 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java
@@ -1380,8 +1380,8 @@
 		 */
 		@Override
 		public boolean contains(Object o) {
-			if (o instanceof Integer) {
-				final Integer obj = (Integer) o;
+			if (o instanceof Long) {
+				final Long obj = (Long) o;
 				return (obj >= first && obj <= last);
 			}
 			return false;
@@ -2133,7 +2133,7 @@
 			return union((LazyList<E>) new IntegerRangeList((Integer) first, (Integer) last));
 		}
 		if (first instanceof Long && last instanceof Long) {
-			return union((LazyList<E>) new LongRangeList((Integer) first, (Integer) last));
+			return union((LazyList<E>) new LongRangeList((Long) first, (Long) last));
 		}
 		throw new IllegalArgumentException(String.format("includingRange() not supported for arguments of type %s and %s", first.getClass()
 				.getName(), last.getClass().getName()));
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java
index 31843c5..632ade5 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java
@@ -2516,7 +2516,7 @@
 			return union((LazyOrderedSet<E>) new IntegerRangeOrderedSet((Integer) first, (Integer) last));
 		}
 		if (first instanceof Long && last instanceof Long) {
-			return union((LazyOrderedSet<E>) new LongRangeOrderedSet((Integer) first, (Integer) last));
+			return union((LazyOrderedSet<E>) new LongRangeOrderedSet((Long) first, (Long) last));
 		}
 		throw new IllegalArgumentException(String.format("includingRange() not supported for arguments of type %s and %s", first.getClass()
 				.getName(), last.getClass().getName()));
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java
index 8e974db..17d42f2 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java
@@ -579,21 +579,40 @@
 		} catch (IllegalArgumentException e) {
 			// expected
 		}
-		final LazyCollection<Integer> intlist = getEmptyLazyCollection();
-		final LazyCollection<Integer> appended = intlist.includingRange(300, 400);
-		assertEquals(intlist.size() + 400 - 300 + 1, appended.size());
-		assertTrue(appended.contains(300));
-		assertTrue(appended.contains(301));
-		assertTrue(appended.contains(349));
-		assertTrue(appended.contains(399));
-		assertTrue(appended.contains(400));
-		// Test iterator
-		int index = 0;
-		for (Integer element : appended) {
-			assertEquals(index + 300, element.intValue());
-			index++;
+		{
+			final LazyCollection<Integer> intlist = getEmptyLazyCollection();
+			final LazyCollection<Integer> appended = intlist.includingRange(300, 400);
+			assertEquals(intlist.size() + 400 - 300 + 1, appended.size());
+			assertTrue(appended.contains(300));
+			assertTrue(appended.contains(301));
+			assertTrue(appended.contains(349));
+			assertTrue(appended.contains(399));
+			assertTrue(appended.contains(400));
+			// Test iterator
+			int index = 0;
+			for (Integer element : appended) {
+				assertEquals(index + 300, element.intValue());
+				index++;
+			}
+			assertEquals(appended.size(), index);
 		}
-		assertEquals(appended.size(), index);
+		{
+			final LazyCollection<Long> longlist = getEmptyLazyCollection();
+			final LazyCollection<Long> appended = longlist.includingRange(300L, 400L);
+			assertEquals(longlist.size() + 400 - 300 + 1, appended.size());
+			assertTrue(appended.contains(300L));
+			assertTrue(appended.contains(301L));
+			assertTrue(appended.contains(349L));
+			assertTrue(appended.contains(399L));
+			assertTrue(appended.contains(400L));
+			// Test iterator
+			int index = 0;
+			for (Long element : appended) {
+				assertEquals(index + 300, element.intValue());
+				index++;
+			}
+			assertEquals(appended.size(), index);
+		}
 	}
 
 	/**