### Question:
AlosPRIMetadata extends XmlMetadata { @Override public ProductData.UTC getProductEndTime() { ProductData.UTC date = null; String value = null; try { value = getAttributeValue(AlosPRIConstants.PATH_END_TIME, null); } catch (Exception e) { warn(MISSING_ELEMENT_WARNING, AlosPRIConstants.PATH_END_TIME); } if (value != null && !value.isEmpty()) { date = DateHelper.parseDate(value, AlosPRIConstants.ALOSPRI_UTC_DATE_FORMAT); } return date; } AlosPRIMetadata(String name); @Override int getNumBands(); @Override String getProductName(); @Override String getFormatName(); @Override int getRasterWidth(); @Override int getRasterHeight(); @Override String[] getRasterFileNames(); @Override ProductData.UTC getProductStartTime(); @Override ProductData.UTC getProductEndTime(); @Override ProductData.UTC getCenterTime(); @Override String getProductDescription(); @Override String getFileName(); @Override String getMetadataProfile(); boolean hasInsertPoint(); float getMaxInsertPointX(); float getMaxInsertPointY(); float getMinInsertPointX(); float getMinInsertPointY(); float getStepSizeX(); float getStepSizeY(); Map<String, Float[]> bandOffset(); String getCrsCode(); ImageMetadata.InsertionPoint getProductOrigin(); Map<String, Float> getMaxPoint(); float[][] getMaxCorners(); List<ImageMetadata> getImageMetadataList(); void setComponentMetadata(List<ImageMetadata> componentMetadata); @Deprecated void addComponentMetadata(File metadata); boolean isMultiSize();  }### Answer:
@Test public void testGetEndTime() throws Exception { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date time = dateFormat.parse("2006-10-17 21:27:30.491"); assertEquals(time.getTime(), metadata.getProductEndTime().getAsDate().getTime()); assertEquals(491000, metadata.getProductEndTime().getMicroSecondsFraction()); }