### Question:
OpenStreetMapClient extends AbstractClient { public ReadElementHistoryRequest createHistoryElement(){ switch (getVersion()) { case v060: return new ReadElementHistory060(this); default: throw new IllegalArgumentException("Version was not defined"); } } OpenStreetMapClient(final URL serverURL, final String version);  OpenStreetMapClient(final URL url, final OSMVersion version);  OpenStreetMapClient(final URL url, final ClientSecurity security, final OSMVersion version);  OpenStreetMapClient(final ParameterValueGroup params); @Override DataStoreProvider getProvider(); @Override Optional<GenericName> getIdentifier(); OSMVersion getVersion(); Api getServiceCapabilities(); GetCapabilitiesRequest createGetCapabilities(); GetDataRequest createGetData(); GetChangeSetRequest createGetChangeSet(); GetChangeSetsRequest createGetChangeSets(); CreateChangeSetRequest createCreateChangeSet(); UpdateChangeSetRequest createUpdateChangeSet(); CloseChangeSetRequest createCloseChangeSet(); DownloadChangeSetRequest createDownloadChangeSet(); ExpandChangeSetRequest createExpandChangeSet(); UploadRequest createUploadChangeSet(); ChangeElementRequest createCreateElement(); ReadElementRequest createReadElement(); ReadElementsRequest createReadElements(); ReadElementFullRequest createReadFullElement(); ChangeElementRequest createUpdateElement(); ChangeElementRequest createDeleteElement(); ReadElementHistoryRequest createHistoryElement(); ReadElementRelationsRequest createRelatedRelationElement(); ReadNodeWaysRequest createRelatedWayElement(); GetGPSTraceRequest createGetGPSTraces(); Request createUploadGPSTrace(); DownloadGPSTraceDetail createDownloadGPSTraceDetails(); DownloadGPSTraceData createDownloadGPSTraceData(); Request createGetUserMetaData(); Request createGetUserPreference();  }### Answer:
@Test public void testReadElementHistory() throws XMLStreamException, IOException{ final ReadElementHistoryRequest request = server.createHistoryElement(); request.setElementType(OSMType.NODE); request.setId(310); OSMXMLReader reader = new OSMXMLReader(); reader.setInput(request.getURL().openStream()); int nbVersion = 0; while(reader.hasNext()){ Object candidate = reader.next(); assertNotNull(candidate); assertTrue(candidate instanceof Feature); Feature n = (Feature) candidate; assertEquals(310l, n.getPropertyValue("id")); nbVersion++; } assertTrue(nbVersion > 1); }