@GET
    public List<String> getPatches() throws GuacamoleException {

        try {

            // Allocate a list of equal size to the total number of patches
            List<Resource> resources = patchResourceService.getPatchResources();
            List<String> patches = new ArrayList<String>(resources.size());

            // Convert each patch resource to a string
            for (Resource resource : resources) {
                patches.add(readResourceAsString(resource));
            }

            // Return all patches in string form
            return patches;

        }

        // Bail out entirely on error
        catch (IOException e) {
            throw new GuacamoleServerException("Unable to read HTML patches.", e);
        }

    }
Returns a list of all available HTML patches, in the order they should
be applied. Each patch is raw HTML containing additional meta tags
describing how and where the patch should be applied.

@return
    A list of all HTML patches defined in the system, in the order they
    should be applied.

@throws GuacamoleException
    If an error occurs preventing any HTML patch from being read.
guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java