public static Properties getProperties(File file) throws AnalysisException {
        try (BufferedReader utf8Reader = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
            return getProperties(utf8Reader);
        } catch (IOException | IllegalArgumentException e) {
            throw new AnalysisException("Error parsing PyPA core-metadata file", e);
        }
    }
@Test
    public void getProperties_should_properly_parse_multiline_description() throws IOException {
        String payload = "Metadata-Version: 1.0\r\n"
                         + "Description: This is the first line\r\n"
                         + "       | and this the second\r\n"
                         + "       |\r\n"
                         + "       | and the fourth after an empty third\r\n"
                         + "\r\n"
                         + "This: is the body and it is ignored. It may contain an extensive description in various formats";
        Properties props = PyPACoreMetadataParser.getProperties(new BufferedReader(new StringReader(payload)));
        Assert.assertEquals("1.0", props.get("Metadata-Version"));
        Assert.assertEquals("This is the first line\n"
                            + " and this the second\n"
                            + "\n"
                            + " and the fourth after an empty third", props.get("Description"));
        Assert.assertFalse("Body was parsed as a header", props.containsKey("This"));
    }