original_string: public function getCustomers($criteria = null, PropelPDO $con = null)
      {
          $partial = $this->collCustomersPartial && !$this->isNew();
          if (null === $this->collCustomers || null !== $criteria  || $partial) {
              if ($this->isNew() && null === $this->collCustomers) {
                  // return empty collection
                  $this->initCustomers();
              } else {
                  $collCustomers = CustomerQuery::create(null, $criteria)
                      ->filterByCountry($this)
                      ->find($con);
                  if (null !== $criteria) {
                      if (false !== $this->collCustomersPartial && count($collCustomers)) {
                        $this->initCustomers(false);
  
                        foreach ($collCustomers as $obj) {
                          if (false == $this->collCustomers->contains($obj)) {
                            $this->collCustomers->append($obj);
                          }
                        }
  
                        $this->collCustomersPartial = true;
                      }
  
                      $collCustomers->getInternalIterator()->rewind();
  
                      return $collCustomers;
                  }
  
                  if ($partial && $this->collCustomers) {
                      foreach ($this->collCustomers as $obj) {
                          if ($obj->isNew()) {
                              $collCustomers[] = $obj;
                          }
                      }
                  }
  
                  $this->collCustomers = $collCustomers;
                  $this->collCustomersPartial = false;
              }
          }
  
          return $this->collCustomers;
      }
code: public function getCustomers($criteria = null, PropelPDO $con = null)
      {
          $partial = $this->collCustomersPartial && !$this->isNew();
          if (null === $this->collCustomers || null !== $criteria  || $partial) {
              if ($this->isNew() && null === $this->collCustomers) {
                  // return empty collection
                  $this->initCustomers();
              } else {
                  $collCustomers = CustomerQuery::create(null, $criteria)
                      ->filterByCountry($this)
                      ->find($con);
                  if (null !== $criteria) {
                      if (false !== $this->collCustomersPartial && count($collCustomers)) {
                        $this->initCustomers(false);
  
                        foreach ($collCustomers as $obj) {
                          if (false == $this->collCustomers->contains($obj)) {
                            $this->collCustomers->append($obj);
                          }
                        }
  
                        $this->collCustomersPartial = true;
                      }
  
                      $collCustomers->getInternalIterator()->rewind();
  
                      return $collCustomers;
                  }
  
                  if ($partial && $this->collCustomers) {
                      foreach ($this->collCustomers as $obj) {
                          if ($obj->isNew()) {
                              $collCustomers[] = $obj;
                          }
                      }
                  }
  
                  $this->collCustomers = $collCustomers;
                  $this->collCustomersPartial = false;
              }
          }
  
          return $this->collCustomers;
      }
code_tokens: public function getCustomers ( $ criteria = null , PropelPDO $ con = null ) { $ partial = $ this -> collCustomersPartial && ! $ this -> isNew ( ) ; if ( null === $ this -> collCustomers || null !== $ criteria || $ partial ) { if ( $ this -> isNew ( ) && null === $ this -> collCustomers ) { // return empty collection $ this -> initCustomers ( ) ; } else { $ collCustomers = CustomerQuery :: create ( null , $ criteria ) -> filterByCountry ( $ this ) -> find ( $ con ) ; if ( null !== $ criteria ) { if ( false !== $ this -> collCustomersPartial && count ( $ collCustomers ) ) { $ this -> initCustomers ( false ) ; foreach ( $ collCustomers as $ obj ) { if ( false == $ this -> collCustomers -> contains ( $ obj ) ) { $ this -> collCustomers -> append ( $ obj ) ; } } $ this -> collCustomersPartial = true ; } $ collCustomers -> getInternalIterator ( ) -> rewind ( ) ; return $ collCustomers ; } if ( $ partial && $ this -> collCustomers ) { foreach ( $ this -> collCustomers as $ obj ) { if ( $ obj -> isNew ( ) ) { $ collCustomers [ ] = $ obj ; } } } $ this -> collCustomers = $ collCustomers ; $ this -> collCustomersPartial = false ; } } return $ this -> collCustomers ; }
docstring: Gets an array of Customer objects which contain a foreign key that references this object.
  
  If the $criteria is not null, it is used to always fetch the results from the database.
  Otherwise the results are fetched from the database the first time, then cached.
  Next time the same method is called without $criteria, the cached collection is returned.
  If this Country is new, it will return
  an empty collection or the current collection; the criteria is ignored on a new object.
  
  @param Criteria $criteria optional Criteria object to narrow the query
  @param PropelPDO $con optional connection object
  @return PropelObjectCollection|Customer[] List of Customer objects
  @throws PropelException
docstring_tokens: Gets an array of Customer objects which contain a foreign key that references this object .