### Question:
RapidEyeMetadata extends XmlMetadata { public String getMaskFileName() { String fileName = null; MetadataElement currentElement; if (((currentElement = rootElement.getElement(RapidEyeConstants.TAG_RESULT_OF)) != null) && ((currentElement = currentElement.getElement(RapidEyeConstants.TAG_EARTH_OBSERVATION_RESULT)) != null) && ((currentElement = currentElement.getElement(RapidEyeConstants.TAG_BROWSE)) != null) && ((currentElement = currentElement.getElement(RapidEyeConstants.TAG_BROWSE_INFORMATION)) != null)) { fileName = currentElement.getAttributeString(RapidEyeConstants.TAG_FILE_NAME, null); if (fileName == null) { logger.warning("Browse file not found in metadata. The UDM masks may not be available"); } else { fileName = fileName.replace(RapidEyeConstants.BROWSE_FILE_SUFFIX, RapidEyeConstants.UDM_FILE_SUFFIX); } } return fileName; } RapidEyeMetadata(String name); @Override String getFileName(); @Override int getNumBands(); @Override String getProductName(); @Override String getFormatName(); @Override String getMetadataProfile(); @Override String getProductDescription(); @Override int getRasterWidth(); @Override int getRasterHeight(); String getBrowseFileName(); String getMaskFileName(); @Override String[] getRasterFileNames(); SpatialReferenceSystem getReferenceSystem(); ProductData.UTC getProductStartTime(); ProductData.UTC getProductEndTime(); ProductData.UTC getCenterTime(); float getScaleFactor(int bandIndex); int getPixelFormat(); float[] getCornersLatitudes(); float[] getCornersLongitudes(); RationalCoefficients getRationalPolinomialCoefficients();  }### Answer:
@Test public void testGetMaskFileName() throws Exception { assertEquals("2009-04-16T104920_RE4_1B-NAC_3436599_84303_udm.tif", metadata.getMaskFileName()); }