public List<String> detectParameters(String input) throws ParameterNotPresentException
   {
       input=input.trim().replaceAll("  ", " ");
       Queue<String> inputQueue=new LinkedList<String>(Arrays.asList(input.split(" ")));
       List<String> output=new LinkedList<String>();
       for (Parameter parameter : parameters) {
           String peek=inputQueue.peek();
           try{
        	
           String out=parameter.detectParam(peek);
           
           output.add(out);
           if(out.equals(peek))
           {
               inputQueue.remove();
           }
           }
           catch(ParameterNotPresentException e)
           {
        	   e.setPartialOutput(output);
        	   throw e;
           }
       }
       return output;
   }