public static function filterArrayOfObjectsByMember($member, $objects, $filterValue) {

        $filterValues = is_array($filterValue) ? $filterValue : array($filterValue);

        $filteredObjects = array();

        foreach ($objects as $object) {
            if ($object instanceof SerialisableObject) {
                foreach ($filterValues as $value) {
                    if ($value == $object->__getSerialisablePropertyValue($member)) {
                        $filteredObjects[] = $object;
                        break;
                    }
                }
            } else {
                throw new ClassNotSerialisableException(get_class($object));
            }
        }

        return $filteredObjects;

    }