@SuppressWarnings("unchecked")
public Object deserialize(byte[] source, @SuppressWarnings("rawtypes") Class clazz) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
Stopwatch stopWatch = SimonManager.getStopwatch("serializer.PSDeserialize");
Split split = stopWatch.start();
final Object object = clazz.newInstance();
@SuppressWarnings("rawtypes")
final Schema schema = RuntimeSchema.getSchema(clazz);
ProtostuffIOUtil.mergeFrom(source, object, schema);
split.stop();
return object;
}