// it means we can calculate the position of the individual
// elements based on the index of that element.
Expression<Integer, Resolver> size = getSizeExpression(
settings, context);
Expression<Integer, Resolver> offsets = null;
CodecDescriptorHolder holder = new CodecDescriptorHolder();
offsets = Expressions.createInteger(new IndexedResolverContext(
context, holder), settings.offset());
Codec<T> result = (Codec<T>) new OffsetListCodec(offsets, size,
codec);
// TODO:
holder.setDescriptor(result.getCodecDescriptor());
return result;
} else {
// In this case, there may be a size (number of elements) set,
// but the size of the individual may not be constant. The size
// of the individual elements may be determined by some