private static Object projectArray(Schema source, Object record, Schema target) throws SchemaProjectorException {
        List<?> array = (List<?>) record;
        List<Object> retArray = new ArrayList<>();
        for (Object entry : array) {
            retArray.add(project(source.valueSchema(), entry, target.valueSchema()));
        }
        return retArray;
    }
This method projects a value between compatible schemas and throws exceptions when non-compatible schemas are provided
@param source the schema used to construct the record
@param record the value to project from source schema to target schema
@param target the schema to project the record to
@return the projected value with target schema
@throws SchemaProjectorException if the target schema is not optional and does not have a default value
connect/api/src/main/java/org/apache/kafka/connect/data/SchemaProjector.java