in activemq-protobuf/src/main/java/org/apache/activemq/protobuf/compiler/AltJavaGenerator.java [477:504]
private void generateMethodFreeze(MessageDescriptor m, String bufferClassName) {
p("public boolean frozen() {");
indent();
p("return frozen!=null;");
unindent();
p("}");
p();
p("public "+bufferClassName+" freeze() {");
indent();
p("if( frozen==null ) {");
indent();
p("frozen = new "+bufferClassName+"(bean);");
p("assert deepFreeze();");
unindent();
p("}");
p("return frozen;");
unindent();
p("}");
p();
p("private boolean deepFreeze() {");
indent();
p("frozen.serializedSizeUnframed();");
p("return true;");
unindent();
p("}");
p();
}