/**
  * @see TypeDescription::checkType()
  */
 function checkType(&$object)
 {
     // First of all check whether this is a
     // meta-data description at all.
     if (!parent::checkType($object)) {
         return false;
     }
     // Check the meta-data schema.
     $metadataSchema =& $object->getMetadataSchema();
     if (!is_a($metadataSchema, $this->_metadataSchemaClassName)) {
         return false;
     }
     // Check the assoc type
     if ($this->_assocType != ASSOC_TYPE_ANY) {
         if ($object->getAssocType() != $this->_assocType) {
             return false;
         }
     }
     return true;
 }