private static boolean interpretLine(DatabaseUtil databaseUtil, String line) {
		boolean result;
		String command;
		List<?> objects;
		int affected;
		
		result = false;		
		try {				
			command = StringUtils.substringBefore(line, " ");
			switch (command) {				
				case "quit":
					result = true;						
					break;
				case "begin": 
					databaseUtil.openTransaction();
					System.out.println("Transaction started");
					break;
				case "commit":
					databaseUtil.commitTransaction();
					System.out.println("Transaction committed");
					break;
				case "rollback": 
					databaseUtil.rollbackTransaction();
					System.out.println("Transaction rollbacked");
					break;
				case "update":
				case "delete": 
					affected = databaseUtil.executeUpdate(line);
					System.out.printf("%d objects affected%n", affected);
					break;
				case "select": 
					objects = databaseUtil.executeSelect(line);			
					System.out.printf("%d objects found%n", objects.size());	
					printResultList(objects);
					break;
				default:
					System.err.println("Command not understood");
			}
		} catch (Throwable oops) {	
			System.err.println(oops.getMessage());
			// oops.printStackTrace(System.err);
		}
		
		return result;
	}