@Override
	public void execute(String commandName, BufferedReader reader, BufferedWriter writer)
			throws Py4JException, IOException {
		String fqn = reader.readLine();
		List<Object> arguments = getArguments(reader);

		ReturnObject returnObject = invokeConstructor(fqn, arguments);

		String returnCommand = Protocol.getOutputCommand(returnObject);
		logger.finest("Returning command: " + returnCommand);
		writer.write(returnCommand);
		writer.flush();
	}
@Test
	public void testWrongConstructor() {
		String inputCommand = "py4j.examples.Stack\ni5\ne\n";
		try {
			command.execute("i", new BufferedReader(new StringReader(inputCommand)), writer);
			assertTrue(sWriter.toString().startsWith("!x"));
		} catch (Exception e) {
			e.printStackTrace();
			fail();
		}
	}