package org.batfish.common.util; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectStreamClass; public class BatfishObjectInputStream extends ObjectInputStream { private ClassLoader _loader; public BatfishObjectInputStream(InputStream in, ClassLoader loader) throws IOException { super(in); _loader = loader; } @Override protected Class<?> resolveClass(ObjectStreamClass osc) throws IOException, ClassNotFoundException { try { String name = osc.getName(); return Class.forName(name, false, _loader); } catch (ClassNotFoundException e) { return super.resolveClass(osc); } } }