public static function areEqual(&$ref1, &$ref2) : bool
    {
        if ($ref1 !== $ref2) {
            return false;
        }

        if (!self::$secret) {
            self::$secret = new \stdClass();
        }

        $tempStorage = $ref1;

        $ref1     = self::$secret;
        $areEqual = $ref1 === $ref2;

        $ref1 = $tempStorage;

        return $areEqual;
    }
public static function areEqual(&$ref1, &$ref2) : bool
    {
        if ($ref1 !== $ref2) {
            return false;
        }

        if (!self::$secret) {
            self::$secret = new \stdClass();
        }

        $tempStorage = $ref1;

        $ref1     = self::$secret;
        $areEqual = $ref1 === $ref2;

        $ref1 = $tempStorage;

        return $areEqual;
    }
public static function areEqual ( & $ ref1 , & $ ref2 ) : bool { if ( $ ref1 !== $ ref2 ) { return false ; } if ( ! self :: $ secret ) { self :: $ secret = new \ stdClass ( ) ; } $ tempStorage = $ ref1 ; $ ref1 = self :: $ secret ; $ areEqual = $ ref1 === $ ref2 ; $ ref1 = $ tempStorage ; return $ areEqual ; }
Determines whether the supplied references are the same
reference.

@param mixed $ref1
@param mixed $ref2

@return bool
Determines whether the supplied references are the same reference .