   public UniformInterface getTarget()
   {
      if(this.handler != null)
      {
         return this.handler;
      }
      else
      {
         synchronized(ServerServlet.class)
         {
            String targetAttributeName = getServletConfig().getInitParameter(NAME_TARGET_ATTRIBUTE);
            if(targetAttributeName == null)
            {
               targetAttributeName = getServletContext().getInitParameter(NAME_TARGET_ATTRIBUTE);
            }
            if(targetAttributeName != null)
            {
               this.handler = (UniformInterface)getServletContext().getAttribute(targetAttributeName);
               if(this.handler == null)
               {
                  String targetClassName = getServletConfig().getInitParameter(NAME_TARGET_CLASS);
                  if(targetClassName == null)
                  {
                     targetClassName = getServletContext().getInitParameter(NAME_TARGET_CLASS);
                  }
                  if(targetClassName != null)
                  {
                     try
                     {
                        Class targetClass = Class.forName(targetClassName);
                        this.handler = (UniformInterface)targetClass.newInstance();
                        getServletContext().setAttribute(NAME_TARGET_ATTRIBUTE, this.handler);
                     }
                     catch(ClassNotFoundException e)
                     {
                        log("[Noelios Restlet Engine] - The ServerServlet couldn't find the class. Please check that your classpath includes " + NAME_TARGET_CLASS);
                     }
                     catch(InstantiationException e)
                     {
                        log("[Noelios Restlet Engine] - The ServerServlet couldn't instantiate the class. Please check this class has an empty constructor " + NAME_TARGET_CLASS);
                     }
                     catch(IllegalAccessException e)
                     {
                        log("[Noelios Restlet Engine] - The ServerServlet couldn't instantiate the class. Please check that you have to proper access rights to " + NAME_TARGET_CLASS);
                     }
                  }
                  else
                  {
                     log("[Noelios Restlet Engine] - The ServerServlet couldn't find the class name of the target handler. Please set the initialization parameter called " + NAME_TARGET_CLASS);
                  }
               }
            }
            else
            {
               log("[Noelios Restlet Engine] - The ServerServlet couldn't find the attribute name of the target handler. Please set the initialization parameter called " + NAME_TARGET_ATTRIBUTE);
            }
         }
         return this.handler;
      }
   }

   public UniformInterface getTarget()
   {
      if(this.handler != null)
      {
         return this.handler;
      }
      else
      {
         synchronized(ServerServlet.class)
         {
            String targetAttributeName = getServletConfig().getInitParameter(NAME_TARGET_ATTRIBUTE);
            if(targetAttributeName == null)
            {
               targetAttributeName = getServletContext().getInitParameter(NAME_TARGET_ATTRIBUTE);
            }
            if(targetAttributeName != null)
            {
               this.handler = (UniformInterface)getServletContext().getAttribute(targetAttributeName);
               if(this.handler == null)
               {
                  String targetClassName = getServletConfig().getInitParameter(NAME_TARGET_CLASS);
                  if(targetClassName == null)
                  {
                     targetClassName = getServletContext().getInitParameter(NAME_TARGET_CLASS);
                  }
                  if(targetClassName != null)
                  {
                     try
                     {
                        Class targetClass = Class.forName(targetClassName);
                        this.handler = (UniformInterface)targetClass.newInstance();
                        getServletContext().setAttribute(NAME_TARGET_ATTRIBUTE, this.handler);
                     }
                     catch(ClassNotFoundException e)
                     {
                        log("[Noelios Restlet Engine] - The ServerServlet couldn't find the class. Please check that your classpath includes " + targetClassName);
                     }
                     catch(InstantiationException e)
                     {
                        log("[Noelios Restlet Engine] - The ServerServlet couldn't instantiate the class. Please check this class has an empty constructor " + targetClassName);
                     }
                     catch(IllegalAccessException e)
                     {
                        log("[Noelios Restlet Engine] - The ServerServlet couldn't instantiate the class. Please check that you have to proper access rights to " + targetClassName);
                     }
                  }
                  else
                  {
                     log("[Noelios Restlet Engine] - The ServerServlet couldn't find the class name of the target handler. Please set the initialization parameter called " + NAME_TARGET_CLASS);
                  }
               }
            }
            else
            {
               log("[Noelios Restlet Engine] - The ServerServlet couldn't find the attribute name of the target handler. Please set the initialization parameter called " + NAME_TARGET_ATTRIBUTE);
            }
         }
         return this.handler;
      }
   }
