public PluginDescriptionFile getPluginDescription(File file) throws InvalidDescriptionException {
	        Validate.notNull(file, "File cannot be null");

	        JarFile jar = null;
	        InputStream stream = null;

	        try {
	            jar = new JarFile(file);
	            JarEntry entry = jar.getJarEntry("addon.dc");

	            if (entry == null) {
	                throw new InvalidDescriptionException(new FileNotFoundException("Jar does not contain addon.dc"));
	            }

	            stream = jar.getInputStream(entry);

	            return new PluginDescriptionFile(stream);

	        } catch (IOException ex) {
	            throw new InvalidDescriptionException(ex);
	        } catch (YAMLException ex) {
	            throw new InvalidDescriptionException(ex);
	        } finally {
	            if (jar != null) {
	                try {
	                    jar.close();
	                } catch (IOException e) {
	                }
	            }
	            if (stream != null) {
	                try {
	                    stream.close();
	                } catch (IOException e) {
	                }
	            }
	        }
	    }