@SuppressWarnings({"unchecked", "rawtypes"}) private void truncate(Trace<?> dest, Trace<?> orig) throws IOException { long min_time = minTime * orig.ticsPerSecond(); long max_time = maxTime * orig.ticsPerSecond(); Converter truncater; if (orig.isStateful()) { truncater = new StatefulSubtraceConverter( (StatefulTrace<?, ?>) dest, (StatefulTrace<?, ?>) orig, min_time, max_time); } else { truncater = new SubtraceConverter(dest, orig, min_time, max_time); } truncater.convert(); }