String matchedPart = relativeRef.substring(0, matcher.end());
String matchedPart = remainingRef.substring(0, matcher.end());
	public void handle(Call call)	{		String relativeRef = call.getContext().getRelativeRef().toString();;		Matcher matcher = getPattern().matcher(relativeRef);      boolean matched = matcher.lookingAt();               if(logger.isLoggable(Level.FINER))      {      	logger.finer("Attempting to match this pattern: " + getPattern().toString() + " >> " + matched);      }      if(matched)      {	      // Updates the context	      String matchedPart = relativeRef.substring(0, matcher.end());	      Reference baseRef = call.getContext().getBaseRef();		      if(baseRef == null)	      {	      	baseRef = new Reference(matchedPart);	      	call.getContext().setBaseRef(baseRef);	      }	      else	      {	      	baseRef = new Reference(baseRef.toString(false, false) + matchedPart);	      }		      if(logger.isLoggable(Level.FINE))	      {	      	logger.fine("New base URI: " + call.getContext().getBaseRef());	      	logger.fine("New relative path: " + call.getContext().getRelativePath());	      }		      if(logger.isLoggable(Level.FINE))	      {	      	logger.fine("Delegating the call to the target Restlet");	      }		      // Invoke the call restlet	      super.handle(call);	   }      else      {      	call.setStatus(Status.CLIENT_ERROR_NOT_FOUND);      }	}   