'**SUMMARY**
Predict the class of the face in the image using FaceRecognizer.
**PARAMETERS**
* *recognizer*  - Trained FaceRecognizer object
* *cascade*     -haarcascade which would identify the face
in the image.
**EXAMPLES**
>>> cam = Camera()
>>> img = cam.getImage()
>>> recognizer = FaceRecognizer()
>>> recognizer.load("training.xml")
>>> feat = img.findAndRecognizeFaces(recognizer, "face.xml")
>>> for feature, label, confidence in feat:
... i = feature.crop()
... i.drawText(str(label))
... i.show()'

def findAndRecognizeFaces(self, recognizer, cascade=None):

    try:
        import cv2
        if (not hasattr(cv2, 'createFisherFaceRecognizer')):
            warnings.warn('OpenCV    >=    2.4.4    required    to    use    this.')
            return None
    except ImportError:
        warnings.warn('OpenCV    >=    2.4.4    required    to    use    this.')
        return None
    if (not isinstance(recognizer, FaceRecognizer)):
        warnings.warn('SimpleCV.Features.FaceRecognizer    object    required.')
        return None
    if (not cascade):
        cascade = '/'.join([LAUNCH_PATH, '/Features/HaarCascades/face.xml'])
    faces = self.findHaarFeatures(cascade)
    if (not faces):
        warnings.warn('Faces    not    found    in    the    image.')
        return None
    retVal = []
    for face in faces:
        (label, confidence) = face.crop().recognizeFace(recognizer)
        retVal.append([face, label, confidence])
    return retVal
