protected Object instantiateNewInstance(HierarchicalStreamReader reader, UnmarshallingContext context) {
BaseDataObject data = null;
reader = reader.underlyingReader();
LookAheadStreamReader xppReader = null;
if (reader instanceof LookAheadStreamReader) {
xppReader = (LookAheadStreamReader) reader;
}
else {
throw new RuntimeException("reader: " + reader.getClass());
}
String type = xppReader.getFieldValue("type");
if ("type-one".equals(type)) {
data = new DataObject1();
}
else if ("type-two".equals(type)) {