code: private String decodeFileName(String fileName) {
          String decodedFile = fileName;
          try {
              decodedFile = URLDecoder.decode(fileName, "UTF-8");
          } catch (UnsupportedEncodingException e) {
              System.err.println("Encountered an invalid encoding scheme when trying to use URLDecoder.decode() inside of the GroovyClassLoader.decodeFileName() method.  Returning the unencoded URL.");
              System.err.println("Please note that if you encounter this error and you have spaces in your directory you will run into issues.  Refer to GROOVY-1787 for description of this bug.");
          }
  
          return decodedFile;
      }
docs: This method will take a file name and try to "decode" any URL encoded characters.  For example
  if the file name contains any spaces this method call will take the resulting %20 encoded values
  and convert them to spaces.
  <p>
  This method was added specifically to fix defect:  Groovy-1787.  The defect involved a situation
  where two scripts were sitting in a directory with spaces in its name.  The code would fail
  when the class loader tried to resolve the file name and would choke on the URLEncoded space values.