JBIterable<T> (JBIterable<?> original) { JBIterable<?> result = original; for (Function<Object, Object> f : _transformations()) { result = result.map(f); } //noinspection unchecked return (JBIterable<T>)result; }