public Feedback[] giveFeedback(Piece[] input) {
        Object[] resultRed = giveRedFeedback(input);
        List<RedFeedback> redfeedback = (List<RedFeedback>) resultRed[0];
        List<Integer> tokenpieces = (List<Integer>) resultRed[1];
        List<WhiteFeedback> whitefeedback = giveWhiteFeedback(input, tokenpieces);
        Feedback[] result = new Feedback[input.length];
        for (int i = 0; i < redfeedback.size(); i++) {
            result[i] = redfeedback.get(i);
        }
        for (int i = 0; i < whitefeedback.size(); i++) {
            result[i + redfeedback.size()] = whitefeedback.get(i);
        }
        if(whitefeedback.size() + redfeedback.size() < input.length){
            for(int i=(whitefeedback.size() + redfeedback.size()); i < input.length; i++){
                result[i] = new NullFeedback();
            }
        }
        return result;
    }