docs: public static Properties loadProperties(Class pClass, String pName) throws IOException
      {
          // Convert to name the classloader understands
          String name = !StringUtil.isEmpty(pName) ? pName : pClass.getName().replace('.', '/');
  
          // Should we try to guess suffix?
          boolean guessSuffix = (pName == null || pName.indexOf('.') < 0);
  
          InputStream is;
  
          // TODO: WHAT IF MULTIPLE RESOURCES EXISTS?!
          // Try loading resource through the current class' classloader
          if (pClass != null && (is = getResourceAsStream(pClass.getClassLoader(), name, guessSuffix)) != null) {
              //&& (is = getResourceAsStream(pClass, name, guessSuffix)) != null) {
              // Nothing to do
              //System.out.println(((is instanceof XMLPropertiesInputStream) ?
              //                    "XML-properties" : "Normal .properties")
              //                   + " from Class' ClassLoader");
          }
          // If that fails, try the system classloader
          else if ((is = getResourceAsStream(ClassLoader.getSystemClassLoader(), name, guessSuffix)) != null) {
              //else if ((is = getSystemResourceAsStream(name, guessSuffix)) != null) {
                      // Nothing to do
              //System.out.println(((is instanceof XMLPropertiesInputStream) ?
              //                    "XML-properties" : "Normal .properties")
              //                   + " from System ClassLoader");
          }
          // All failed, try loading from file
          else if ((is = getFileAsStream(name, guessSuffix)) != null) {
              //System.out.println(((is instanceof XMLPropertiesInputStream) ?
              //                    "XML-properties" : "Normal .properties")
              //                   + " from System ClassLoader");
          }
          else {
              if (guessSuffix) {
                  // TODO: file extension iterator or something...
                  throw new FileNotFoundException(name + ".properties or " + name + ".xml");
              }
              else {
                  throw new FileNotFoundException(name);
              }
          }
  
          // We have inputstream now, load...
          try {
              return loadProperties(is);
          }
          finally {
              // NOTE: If is == null, a FileNotFoundException must have been thrown above
              try {
                  is.close();
              }
              catch (IOException ioe) {
                  // Not critical...
              }
          }
      }