final Node < E > pred ( Node < E > p ) { Node < E > q = p . prev ; // j2objc: q == p.prev == sentinel means node GC-unlinked return ( sentinel ( ) == q ) ? last ( ) : q ; }
Returns the predecessor of p or the last node if p . prev has been linked to self which will only be true if traversing with a stale pointer that is now off the list .