public ODataDeltaFeed readFeed(final XMLStreamReader reader, final EntityInfoAggregator eia,
final DeserializerProperties readProperties) throws EntityProviderException {
try {
reader.require(XMLStreamConstants.START_DOCUMENT, null, null);
reader.nextTag();
reader.require(XMLStreamConstants.START_ELEMENT, Edm.NAMESPACE_ATOM_2005, FormatXml.ATOM_FEED);
Map<String, String> foundPrefix2NamespaceUri = extractNamespacesFromTag(reader);
foundPrefix2NamespaceUri.putAll(readProperties.getValidatedPrefixNamespaceUris());
checkAllMandatoryNamespacesAvailable(foundPrefix2NamespaceUri);
DeserializerProperties entryReadProperties =
DeserializerProperties.initFrom(readProperties)
.addValidatedPrefixes(foundPrefix2NamespaceUri).build();
return readFeedData(reader, eia, entryReadProperties);
} catch (XMLStreamException e) {
throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass()
.getSimpleName()), e);
}
}