Commands should return empty list in case they dont have an output and throw an exception in case they input is illegal (i.e.
Commands should return empty list in case they dont have an output and throw an exception in case they input is illegal (i.e. the output of the previous command is not compatible with the expected input of this command )