/** Recursively save all child elements and then call ObjBase to save itself. */ @Override public synchronized boolean save(ClothoConnection conn) { System.out.println("============ Starting plasmidSample save"); if (!isChanged()) { System.out.println("plasmidSample didn't require saving"); return true; } if (Collector.isLocal(_pSampleDatum._plasmidUUID)) { Plasmid plas = getPlasmid(); if (!plas.isInDatabase()) { if (!plas.save(conn)) { return false; } } } if (Collector.isLocal(_pSampleDatum._sourceStrainUUID)) { Strain st = getSourceStrain(); if (!st.isInDatabase()) { if (!st.save(conn)) { return false; } } } return super.save(conn); }