docs: private String parseDDfile(URI raDDAddress) {
          final String methodName = "parseDDfile";
          final boolean trace = TraceComponent.isAnyTracingEnabled();
  
          boolean isIssue = false;
          StringWriter result = new StringWriter();
  
          final AtomicReference<Exception> exceptionRef = new AtomicReference<Exception>();
          final File file = new File(raDDAddress);
          BufferedInputStream bin = null;
          ZipFile zipFile = null;
          XMLStreamReader xmlStreamReader = null;
  
          try {
              zipFile = AccessController.doPrivileged(new PrivilegedAction<ZipFile>() {
                  @Override
                  public ZipFile run() {
                      try {
                          return new ZipFile(file);
                      } catch (FileNotFoundException e) {
                          exceptionRef.set(e);
                          return null;
                      } catch (IOException e) {
                          exceptionRef.set(e);
                          return null;
                      }
                  }
              });
              if (exceptionRef.get() != null) {
                  if (trace && tc.isDebugEnabled())
                      Tr.debug(tc, className + ": " + methodName + ": Exception", exceptionRef.get());
                  return null;
              }
  
              Enumeration<? extends ZipEntry> entries = zipFile.entries();
              String desiredFile = "META-INF/ra.xml";
              while (entries.hasMoreElements()) {
                  ZipEntry entry = entries.nextElement();
                  if (entry.getName().equalsIgnoreCase(desiredFile))
                      bin = new BufferedInputStream(zipFile.getInputStream(entry));
              }
  
              if (bin == null) {
                  if (trace && tc.isDebugEnabled())
                      Tr.debug(tc, className + ": " + methodName + ": Could not find needed file: " + desiredFile);
                  return null;
              }
  
              // Start reading the file
              xmlStreamReader = XMLInputFactory.newInstance().createXMLStreamReader(bin);
              final Transformer transformer = TransformerFactory.newInstance().newTransformer();
              transformer.transform(new StAXSource(xmlStreamReader), new StreamResult(result));
          } catch (IOException e) {
              if (trace && tc.isDebugEnabled())
                  Tr.debug(tc, methodName + ": Unable to parse the Deployment Descriptor because of IOException", e);
              isIssue = true; //We might have partial reading of the file
          } catch (XMLStreamException e) {
              if (trace && tc.isDebugEnabled())
                  Tr.debug(tc, methodName + ": Unable to parse the Deployment Descriptor because of XMLStreamException", e);
              isIssue = true; //We might have partial reading of the file
          } catch (FactoryConfigurationError e) {
              if (trace && tc.isDebugEnabled())
                  Tr.debug(tc, methodName + ": Unable to parse the Deployment Descriptor because of FactoryConfigurationError", e);
          } catch (TransformerConfigurationException e) {
              if (trace && tc.isDebugEnabled())
                  Tr.debug(tc, methodName + ": Unable to parse the Deployment Descriptor because of TransformerConfigurationException", e);
          } catch (TransformerFactoryConfigurationError e) {
              if (trace && tc.isDebugEnabled())
                  Tr.debug(tc, methodName + ": Unable to parse the Deployment Descriptor because of TransformerFactoryConfigurationError", e);
          } catch (TransformerException e) {
              if (trace && tc.isDebugEnabled())
                  Tr.debug(tc, methodName + ": Unable to parse the Deployment Descriptor because of TransformerException", e);
          } finally {
              try {
                  if (bin != null)
                      bin.close();
                  if (zipFile != null)
                      zipFile.close();
                  if (xmlStreamReader != null)
                      xmlStreamReader.close();
              } catch (IOException e) {
                  if (trace && tc.isDebugEnabled())
                      Tr.debug(tc, methodName + ": Unable to close the ZipFile or BufferedInputStream", e);
              } catch (XMLStreamException e) {
                  if (trace && tc.isDebugEnabled())
                      Tr.debug(tc, methodName + ": Unable to close the XMLStreamReader", e);
              }
          }
          if (isIssue) {
              isReadFull = false; // Will return the partial reading and try reading again on next request.
              if (!result.toString().isEmpty())
                  result.append("...... [Error] File failed to be fully read");
          } else
              isReadFull = true;
          return result.toString();
      }