It implements the necessary methods, but does not support querying and has no storage backend. It can create generic entities for use in forms and elsewhere within the framework. This allows developers to create domain objects with business logic and schemas, without worrying about backend storage.
Inheritance: extends lithium\data\Source
 /**
  * The cast() method is used by the data source to recursively inspect and
  * transform data as it's placed into a collection. In this case, we'll use
  * cast() to transform arrays into Document objects.
  *
  * @param the query model
  * @param the request results
  * @param options ie(set, service, entity)
  */
 public function cast($entity, array $data, array $options = array())
 {
     $model = $entity->model();
     foreach ($data as $key => &$val) {
         if (!is_array($val)) {
             continue;
         }
         $val = $this->item($model, $val, array('class' => 'entity'));
     }
     return parent::cast($entity, $data, $options);
 }