private static Collection<FileShareInfo> getSharedResources(String prefix, Properties props) {
        Collection<FileShareInfo> result = new LinkedList<>();
        
        for (Map.Entry prop : props.entrySet()) {
            String key = (String)prop.getKey();
            if (key.startsWith(prefix)) {
                
                String resourceID = key.substring(prefix.length());
                if (resourceID.contains(".")) {
                    continue;
                }

                if (prop.getValue().equals("true") || prop.getValue().equals("1")) {

                    String fineNameKey = prefix + resourceID + ".file";
                    String fileName = props.getProperty(fineNameKey);
                    if (fileName == null) {
                        throw new RuntimeException("Expected key not defined: [" + fineNameKey + "].");
                    }

                    String urlKey = prefix + resourceID + ".url";
                    String url = props.getProperty(urlKey);
                    if (url == null) {
                        throw new RuntimeException("Expected key not defined: [" + urlKey + "].");
                    }

                    File f = new File(fileName);
                    if (!f.exists()) {
                        throw new RuntimeException("Unable to open file: [" + fileName + "].");
                    }
                    
                    result.add(new FileShareInfo(fileName, url));
                }
            }
        }

        return result;
    }