get and put require proto ordering.  jdk reorders methods between compiles