ValueVector v = vectors[0];
if(!expectedPath.getRootSegment().segmentEquals(v.getField().getPath().getRootSegment())) return null;
if(v instanceof AbstractContainerVector){
// we're looking for a multi path.
AbstractContainerVector c = (AbstractContainerVector) v;
TypedFieldId.Builder builder = TypedFieldId.newBuilder();
builder.intermediateType(v.getField().getType());
builder.hyper();
builder.addId(id);
return c.getFieldIdIfMatches(builder, true, expectedPath.getRootSegment().getChild());
}else{
return TypedFieldId.newBuilder() //
.intermediateType(v.getField().getType()) //
.finalType(v.getField().getType()) //