/**
  * Use this function for a default application of this type to the model
  *
  * @param \MUtil_Model_ModelAbstract $model
  * @param string $valueField The field containing the value to be encrypted
  * #param string $methodField the field storing the method of encryption
  * @return \Gems_Model_Type_EncryptedField (continuation pattern)
  */
 public function apply(\MUtil_Model_ModelAbstract $model, $valueField, $methodField)
 {
     $this->findValue[$methodField] = $valueField;
     $model->setSaveWhenNotNull($valueField);
     $model->setOnLoad($valueField, array($this, 'loadValue'));
     $model->setOnSave($valueField, array($this, 'saveValue'));
     // Only hidden to make sure onSave's are triggered
     $model->set($methodField, 'elementClass', 'hidden');
     $model->setOnLoad($methodField, 'default');
     // Yes you can set this to a constant
     $model->setSaveWhen($methodField, array($this, 'whenEncryption'));
     $model->setOnSave($methodField, array($this, 'saveEncryption'));
     if ($model instanceof \MUtil_Model_DatabaseModelAbstract) {
         $model->setOnTextFilter($valueField, false);
         $model->setOnTextFilter($methodField, false);
     }
     return $this;
 }