| Conditions | 3 | 
| Paths | 3 | 
| Total Lines | 22 | 
| Code Lines | 13 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 14 | 
| CRAP Score | 3 | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | <?php  | 
            ||
| 24 | 92 | public function stabilise(array $packedLayers): array  | 
            |
| 25 |     { | 
            ||
| 26 | // first re-order according to footprint  | 
            ||
| 27 | 92 | $stabilisedLayers = [];  | 
            |
| 28 | 92 | usort($packedLayers, $this->compare(...));  | 
            |
| 29 | |||
| 30 | // then for each item in the layer, re-calculate each item's z position  | 
            ||
| 31 | 92 | $currentZ = 0;  | 
            |
| 32 | 92 |         foreach ($packedLayers as $oldZLayer) { | 
            |
| 33 | 92 | $oldZStart = $oldZLayer->getStartZ();  | 
            |
| 34 | 92 | $newZLayer = new PackedLayer();  | 
            |
| 35 | 92 |             foreach ($oldZLayer->getItems() as $oldZItem) { | 
            |
| 36 | 92 | $newZ = $oldZItem->getZ() - $oldZStart + $currentZ;  | 
            |
| 37 | 92 | $newZItem = new PackedItem($oldZItem->getItem(), $oldZItem->getX(), $oldZItem->getY(), $newZ, $oldZItem->getWidth(), $oldZItem->getLength(), $oldZItem->getDepth());  | 
            |
| 38 | 92 | $newZLayer->insert($newZItem);  | 
            |
| 39 | }  | 
            ||
| 40 | |||
| 41 | 92 | $stabilisedLayers[] = $newZLayer;  | 
            |
| 42 | 92 | $currentZ += $newZLayer->getDepth();  | 
            |
| 43 | }  | 
            ||
| 44 | |||
| 45 | 92 | return $stabilisedLayers;  | 
            |
| 46 | }  | 
            ||
| 53 | 
This check looks for private methods that have been defined, but are not used inside the class.