if (tokens == null || tokens.length == 0)
return this;
// Go through each context starting from ours
// check the parents are not leaves.
VirtualFileHandler current = this;
for (int i = 0; i < tokens.length; ++i)
{
if (current == null || current.isLeaf())
return null;
if (PathTokenizer.isReverseToken(tokens[i]))
{
VirtualFileHandler parent = current.getParent();
if (parent == null) // TODO - still IOE or null?
throw new IOException("Using reverse path on top file handler: " + current + ", " + path);
else
current = parent;
}