code: @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);
          }
  
      }
docs: 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.