Code Duplication    Length = 8-10 lines in 2 locations

includes/session/PHPSessionHandler.php 2 locations

@@ 289-298 (lines=10) @@
286
		$cache = isset( $this->sessionFieldCache[$id] ) ? $this->sessionFieldCache[$id] : [];
287
		foreach ( $data as $key => $value ) {
288
			if ( !array_key_exists( $key, $cache ) ) {
289
				if ( $session->exists( $key ) ) {
290
					// New in both, so ignore and log
291
					$this->logger->warning(
292
						__METHOD__ . ": Key \"$key\" added in both Session and \$_SESSION!"
293
					);
294
				} else {
295
					// New in $_SESSION, keep it
296
					$session->set( $key, $value );
297
					$changed = true;
298
				}
299
			} elseif ( $cache[$key] === $value ) {
300
				// Unchanged in $_SESSION, so ignore it
301
			} elseif ( !$session->exists( $key ) ) {
@@ 301-308 (lines=8) @@
298
				}
299
			} elseif ( $cache[$key] === $value ) {
300
				// Unchanged in $_SESSION, so ignore it
301
			} elseif ( !$session->exists( $key ) ) {
302
				// Deleted in Session, keep but log
303
				$this->logger->warning(
304
					__METHOD__ . ": Key \"$key\" deleted in Session and changed in \$_SESSION!"
305
				);
306
				$session->set( $key, $value );
307
				$changed = true;
308
			} elseif ( $cache[$key] === $session->get( $key ) ) {
309
				// Unchanged in Session, so keep it
310
				$session->set( $key, $value );
311
				$changed = true;