I am using multiple XStream instances in a same class. 
Is the below implementation of an XStream factory thread-safe, and are there any significant performance implications?
public final class XStreamFactory {
    private XStreamFactory() {
    }
    public static XStream getXstream(Class<?> clazz) {
        XStream xstream = new XStream() {
            @Override
            protected MapperWrapper wrapMapper(MapperWrapper next) {
                return new MapperWrapper(next) {
                    @Override
                    public boolean shouldSerializeMember(@SuppressWarnings("rawtypes") Class definedIn, String fieldName) {
                        if (definedIn == Object.class)
                            return false;
                        return super.shouldSerializeMember(definedIn, fieldName);
                    }
                };
            }
        };
        if (clazz != null) {
            xstream.autodetectAnnotations(Boolean.TRUE);
            xstream.processAnnotations(clazz);
        }
        return xstream;
    }
}
Converting XML to Java
Public class Resposne {
    private XStream xstream1=XStreamFactory.getXstream(XClass1.class);
    private XStream xstream2=XStreamFactory.getXstream(XClass2.class);
    public XClass1 readReplyOne(String reply1){
        return (XClass1) xstream1.fromXML(reply1)
    }
    public XClass2 readReplyOne(String reply2){
        return (XClass2) xstream2.fromXML(reply2)
    }
}