public function buscar($where = array(), $order = array(), $tamanho = -1, $inicio = -1)
 {
     $select = $this->select();
     if (null !== $this->getIdCumprimentoObjeto()) {
         $select->where('idCumprimentoObjeto = ?', $this->getIdCumprimentoObjeto());
     }
     if (null !== $this->getPosicao()) {
         $select->where('idPosicao = ?', $this->getPosicao());
     }
     if (0 === count($select->getPart(Zend_Db_Select::WHERE))) {
         throw new BadMethodCallException('Não foi usado nenhum filtro');
     }
     $imagensDoObjeto = new ArrayObject();
     $arquivoModel = new ArquivoModel();
     $this->getAdapter()->getProfiler()->setEnabled(true);
     foreach ($this->fetchAll($select) as $ImagemDoObjetoRow) {
         $arquivoModel->setId($ImagemDoObjetoRow->idArquivo);
         $imagemDoObjeto = new self();
         $imagemDoObjeto->setIdCumprimentoObjetoXArquivo($ImagemDoObjetoRow->idCumprimentoObjetoXArquivo)->setIdCumprimentoObjeto($ImagemDoObjetoRow->idCumprimentoObjeto)->setArquivo($arquivoModel->buscar())->setPosicao($ImagemDoObjetoRow->idPosicao);
         $imagensDoObjeto->append($imagemDoObjeto);
     }
     return $imagensDoObjeto;
 }