if (!(r instanceof IContainer) && !(r instanceof IFile)) {
//If we didn't find the file, let's try to sync things, as this can happen if the workspace
//is still not properly synchronized.
String firstSegment = p.segment(0);
IResource firstSegmentResource = root.findMember(firstSegment);
if (!(firstSegmentResource instanceof IContainer) && !(firstSegmentResource instanceof IFile)) {
//we cannot even get the 1st part... let's do sync
long currentTimeMillis = System.currentTimeMillis();
if (doFullSynchAt == -1 || currentTimeMillis > doFullSynchAt) {
doFullSynchAt = currentTimeMillis + (60 * 2 * 1000); //do a full synch at most once every 2 minutes