}
public Terminal getAvailableTerminal(String preferredTerminalName) {
try {
TerminalFactory terminalFactory = TerminalFactory.getDefault();
List<CardTerminal> terminals = terminalFactory.terminals().list();
for (CardTerminal terminal : terminals) {
log.info("Checking terminal: " + terminal.getName());
if (preferredTerminalName == null || preferredTerminalName.equals(terminal.getName())) {
for (Terminal knownTerminal : knownTerminals) {
if (knownTerminal.canHandle(terminal.getName())) {