Language: Java
Label: safe
CWE: NVD-CWE-noinfo \u2014 

Code:
    void reserveSemicolonWhenAllowed() {
        // '%3B' is decoded into ';' when allowSemicolonInPathComponent is true.
        assertAccepted(forServer("/abc%3B?a=%3B", true), "/abc;", "a=%3B");
        assertAccepted(forServer("/abc%3B?a=%3B"), "/abc%3B", "a=%3B");

        assertAccepted(forServer("/abc%3B", true), "/abc;");
        assertAccepted(forServer("/abc%3B"), "/abc%3B");

        // Client always decodes '%3B' into ';'.
        assertAccepted(forClient("/abc%3B?a=%3B"), "/abc;", "a=%3B");
    }