public void contact(Subject s) {

        if (s == null) {

            return;
        }

        // The neighbor is not infected
        if (!s.isInfected()) {

            // The neighbor can be infected
            if (Config.getProperty(disease.toString().concat(".Infection.")
                    .concat(toString()).concat(".").concat(s.toString())) != null) {

                // The neighbor gets infected
                if ((int) (100.0 * Math.random()) + 1 <= Integer
                        .parseInt(Config.getProperty(disease.toString()
                                .concat(".Infection.").concat(toString())
                                .concat(".").concat(s.toString())))) {

                    // The neighbor gets the disease of the subject
                    s.setDisease(disease);

                    // The neighbor becomes Sick
                    s.changeState();
                }
            }
        }
    }