// should we do lazy building?
final PbShape shape = builder.build();
return new SerializationResult() {
@Override
public void writeTo(OutputStream argOutputStream) throws IOException {
shape.writeTo(argOutputStream);
}
@Override
public Object getValue() {
return shape;