public Contact getLeastRecentlySeenBucketContact()
    {
        final Contact[] leastRecentlySeen = new Contact[]{ null };
        contacts.traverse(
        		new Cursor<NodeId, Contact>()
        		{
        			public SelectStatus select(Map.Entry<? extends NodeId, ? extends Contact> entry)
        			{
        				Contact node = entry.getValue();
        				Contact lrs = leastRecentlySeen[0];
        				if (lrs == null || node.getLastContact() < lrs.getLastContact())
        					leastRecentlySeen[0] = node;
        				
        				return SelectStatus.CONTINUE;
        			}
        		}
        		);
        return leastRecentlySeen[0];
    }