import java.util.List; import java.util.ArrayList; class BaseProcessor {} class Result {} public class DataProcessor extends BaseProcessor implements Processor { private List items; public DataProcessor() { this.items = new ArrayList<>(); } public void addItem(String item) { items.add(item); } public List process() { return validate(items); } @Override public Result build(HttpClient client) { return null; } private List validate(List data) { List result = new ArrayList<>(); for (String s : data) { if (s != null && !s.isEmpty()) { result.add(s.trim()); } } return result; } } interface Processor { List process(); } enum ErrorCode { OK(0), GAME_DONE(1001); private final int code; ErrorCode(int code) { this.code = code; } }