class SonarPlugin implements VisuwallPlugin<SonarConnection> {

    @Override
    public SoftwareId getSoftwareId(URL url, Map<String, String> properties) throws SoftwareNotFoundException {
        checkNotNull(url, "url is mandatory");
        if (sonarDetector.isSonarPropertiesPage(url)) {
            return createSoftwareIdFromProperties(url);
        } else if (sonarDetector.isSonarWelcomePage(url)) {
            return createSoftwareIdFromWelcomePage(url);
        }
        throw new SoftwareNotFoundException("Url " + url.toString() + " is not compatible with Sonar");
    }

    public  SonarPlugin();

}