} else if (cls == XMLEventReader.class) {
dr = (DataReader<T>)new EventDataReader(this);
} else if (cls == Message.class) {
dr = (DataReader<T>)new MessageDataReader(this);
} else if (cls == Node.class) {
dr = (DataReader<T>)new NodeDataReader(this);
} else if (cls == SOAPBody.class) {
dr = (DataReader<T>)new SOAPBodyDataReader(this);
} else if (cls == SOAPMessage.class) {
dr = (DataReader<T>)new SOAPMessageDataReader(this);
} else if (cls == XMLMessage.class) {