getDirectory().getContext().handle(call);
getDirectory().getContext().handle(contextCall);
	public List<Representation> getVariants()	{		List<Representation> result = super.getVariants();		logger.info("Getting variants for : " + getTargetUri());		if (this.directoryContent != null)		{			if (this.baseName != null)			{				Set<String> extensions = null;				String entryUri;				String fullEntryName;				String baseEntryName;				int lastSlashIndex;				int firstDotIndex;				for (Reference ref : this.directoryContent)				{					entryUri = ref.toString();					lastSlashIndex = entryUri.lastIndexOf('/');					fullEntryName = (lastSlashIndex == -1) ? entryUri : entryUri							.substring(lastSlashIndex + 1);					baseEntryName = fullEntryName;					if (this.handler.isNegotiationEnabled())					{						// Remove the extensions from the base name						firstDotIndex = fullEntryName.indexOf('.');						if (firstDotIndex != -1)						{							baseEntryName = fullEntryName.substring(0, firstDotIndex);						}					}					// Check if the current file is a valid variant					if (baseEntryName.equals(this.baseName))					{						boolean validVariant = true;						if (this.handler.isNegotiationEnabled())						{							// Verify that the extensions are compatible							extensions = getExtensions(fullEntryName);							validVariant = (((extensions == null) && (this.baseExtensions == null))									|| (this.baseExtensions == null) || extensions									.containsAll(this.baseExtensions));						}						if (validVariant)						{							// Add the new variant to the result list							Call contextCall = new Call(Method.GET, entryUri);							getDirectory().getContext().handle(call);							if (contextCall.getStatus().isSuccess()									&& (contextCall.getOutput() != null))							{								result.add(contextCall.getOutput());							}						}					}				}			}			if (result.size() == 0)			{				if (this.targetDirectory && getDirectory().isListingAllowed())				{					ReferenceList userList = new ReferenceList(this.directoryContent.size());										// Compute the base reference (from a call's client point of view) 					String baseRef = this.call.getBaseRef()							.toString(false, false);					if (!baseRef.endsWith("/"))					{						baseRef += "/";					}					baseRef += this.relativePart;					// Set the list base reference					userList.setListRef(baseRef);					String filePath;					int rootLength = getDirectoryUri().length();					for (Reference ref : this.directoryContent)					{						filePath = ref.toString(false, false).substring(rootLength);						userList.add(baseRef + filePath);					}					result = getDirectory().getDirectoryVariants(userList);				}			}		}		return result;	}