original_string: public static function make($data = null, $index = null, Closure $modifier = null)
      {
          if ($data instanceof Traversable) {
              $data = iterator_to_array($data);
          }
  
          if (!is_array($data)) {
              return null;
          }
  
          if (count($data) < 1) {
              return [];
          }
  
          // Check if it is a multi dimensional array
          $values = array_values($data);
          $multi  = array_key_exists(0, $values) && is_array($values[0]);
  
  
          if ($multi) {
              $list = [];
              foreach ($data as $item) {
                  if ($index && array_key_exists($index, $item)) {
                      $key        = $item[$index];
                      $list[$key] = static::populate($item, $modifier);
                      continue;
                  }
                  $list[] = static::populate($item, $modifier);
              }
  
              return $list;
          }
  
          return static::populate($data, $modifier);
      }
code: public static function make($data = null, $index = null, Closure $modifier = null)
      {
          if ($data instanceof Traversable) {
              $data = iterator_to_array($data);
          }
  
          if (!is_array($data)) {
              return null;
          }
  
          if (count($data) < 1) {
              return [];
          }
  
          // Check if it is a multi dimensional array
          $values = array_values($data);
          $multi  = array_key_exists(0, $values) && is_array($values[0]);
  
  
          if ($multi) {
              $list = [];
              foreach ($data as $item) {
                  if ($index && array_key_exists($index, $item)) {
                      $key        = $item[$index];
                      $list[$key] = static::populate($item, $modifier);
                      continue;
                  }
                  $list[] = static::populate($item, $modifier);
              }
  
              return $list;
          }
  
          return static::populate($data, $modifier);
      }
code_tokens: public static function make ( $ data = null , $ index = null , Closure $ modifier = null ) { if ( $ data instanceof Traversable ) { $ data = iterator_to_array ( $ data ) ; } if ( ! is_array ( $ data ) ) { return null ; } if ( count ( $ data ) < 1 ) { return [ ] ; } // Check if it is a multi dimensional array $ values = array_values ( $ data ) ; $ multi = array_key_exists ( 0 , $ values ) && is_array ( $ values [ 0 ] ) ; if ( $ multi ) { $ list = [ ] ; foreach ( $ data as $ item ) { if ( $ index && array_key_exists ( $ index , $ item ) ) { $ key = $ item [ $ index ] ; $ list [ $ key ] = static :: populate ( $ item , $ modifier ) ; continue ; } $ list [ ] = static :: populate ( $ item , $ modifier ) ; } return $ list ; } return static :: populate ( $ data , $ modifier ) ; }
docstring: Convert array to entities
  
  @param  array   $data
  @param  string  $index    Set the value in this key as index
  @param  Closure $modifier Executed before the entity gets populated
  
  @return Entity|array
docstring_tokens: Convert array to entities