Code Duplication    Length = 14-14 lines in 2 locations

src/NodeCollection.php 2 locations

@@ 83-96 (lines=14) @@
80
    /**
81
     * @inheritdoc
82
     */
83
    public function first(callable $fn = null, $default = null)
84
    {
85
        if (is_null($fn)) {
86
            return count($this->items) > 0 ? reset($this->items) : $default;
87
        }
88
89
        foreach ($this->getIterator() as $value) {
90
            if (call_user_func($fn, $value)) {
91
                return $value;
92
            }
93
        }
94
95
        return $default;
96
    }
97
98
    /**
99
     * @inheritdoc
@@ 101-114 (lines=14) @@
98
    /**
99
     * @inheritdoc
100
     */
101
    public function last(callable $fn = null, $default = null)
102
    {
103
        if (is_null($fn)) {
104
            return count($this->items) > 0 ? end($this->items) : $default;
105
        }
106
107
        foreach (array_reverse($this->items) as $value) {
108
            if (call_user_func($fn, $value)) {
109
                return $value;
110
            }
111
        }
112
113
        return $default;
114
    }
115
}
116