docs: private Artifact getArtifactFromJar(File jar) {
          // Lets figure the real mvn source of file.
          String type = extractFileType(jar);
          if (type != null) {
              try {
                  ArrayList<Properties> options = new ArrayList<Properties>();
                  try (ZipInputStream in = new ZipInputStream(new FileInputStream(jar))) {
                      ZipEntry entry;
                      while ((entry = in.getNextEntry()) != null) {
                          if (entry.getName().startsWith("META-INF/maven/") && entry.getName().endsWith("pom.properties")) {
                              byte[] buf = new byte[1024];
                              int len;
                              ByteArrayOutputStream out = new ByteArrayOutputStream(); //change ouptut stream as required
                              while ((len = in.read(buf)) > 0) {
                                  out.write(buf, 0, len);
                              }
                              Properties properties = new Properties();
                              properties.load(new ByteArrayInputStream(out.toByteArray()));
                              options.add(properties);
                          }
                      }
                  }
                  if (options.size() == 1) {
                      return getArtifactFromPomProperties(type,options.get(0));
                  } else {
                      log.warn("Found %d pom.properties in %s", options.size(), jar);
                  }
              } catch (IOException e) {
                  log.warn("IO Exception while examining %s for maven coordinates: %s. Ignoring for watching ...",
                           jar, e.getMessage());
              }
          }
          return null;
      }