public function isSame(Collection $collection, $compareFunction) {
    // ungleiche Anzahl ist nie gleich => fastcheck
    if (count($this) !== count($collection)) return FALSE;
    
    // Anzahl ist gleich, d. h. es sollte keine Elemente geben, die an einem Index nicht dem anderen Array identisch sind
    $compareFunction = $this->compileCompareFunction($compareFunction);
    
    foreach ($this as $key => $element) {
      if (($otherElement = $collection->get($key)) === NULL) {
        return FALSE;
      }
      
      if ($compareFunction($element, $otherElement) !== 0) {
        return FALSE;
      }
    }
    
    return TRUE;
  }