Buggy code:
private void createPipelinePanel ( ) { } public void updateXYPos ( double x , double y ) { } public void updateXYPosRelative ( double x , double y ) { } public void updateZPos ( double z ) { } public void updateZPosRelative ( double z ) { } public void updateXYStagePosition ( ) { } public void toggleShutter ( ) { } public void updateCenterAndDragListener ( ) { } private void checkPosListDlg ( ) { } @ Override public void snapSingleImage ( ) { } private boolean isCameraAvailable ( ) { } @ Override public void markCurrentPosition ( ) { } @ Override @ Deprecated public AcqControlDlg getAcqDlg ( ) { } @ Override @ Deprecated public PositionListDlg getXYPosListDlg ( ) { } @ Override public boolean isAcquisitionRunning ( ) { } @ Override public boolean versionLessThan ( String version ) throws MMScriptException { } @ Override public boolean isLiveModeOn ( ) { } private boolean isCurrentImageFormatSupported ( ) { } public void doSnap ( ) { } public void doSnap ( final boolean shouldAddToAlbum ) { } public void normalizeTags ( TaggedImage ti ) { } private boolean displayTaggedImage ( TaggedImage ti , boolean update ) { } private void configureBinningCombo ( ) throws Exception { } public void initializeGUI ( ) { } @ Subscribe public void onPropertiesChanged ( PropertiesChangedEvent event ) { } @ Subscribe public void onExposureChanged ( ExposureChangedEvent event ) { } public void updateGUI ( boolean updateConfigPadStructure ) { } public void updateGUI ( boolean updateConfigPadStructure , boolean fromCache ) { } public void stopAllActivity ( ) { } private boolean cleanupOnClose ( boolean calledByImageJ ) { } private void saveSettings ( ) { } public synchronized boolean closeSequence ( boolean calledByImageJ ) { } public boolean getIsProgramRunning ( ) { } private void executeStartupScript ( ) { } public boolean loadSystemConfiguration ( ) { } private void saveMRUConfigFiles ( ) { } public List < String > getMRUConfigFiles ( ) { } private void loadMRUConfigFiles ( ) { } public void openAcqControlDialog ( ) { } public void updateChannelCombos ( ) { } public void autofocusNow ( ) { } private void testForAbortRequests ( ) throws MMScriptException { } @ Override public String getVersion ( ) { } @ Override public void logStartupProperties ( ) { } @ Override public void makeActive ( ) { } @ Override public boolean displayImage ( TaggedImage ti ) { } @ Override public void showXYPositionList ( ) { } @ Override public void setConfigChanged ( boolean status ) { } public boolean getIsConfigChanged ( ) { } @ Override public double getChannelExposureTime ( String channelGroup , String channel , double defaultExp ) { } @ Override public void setChannelExposureTime ( String channelGroup , String channel , double exposure ) { } @ Override public void enableRoiButtons ( final boolean enabled ) { } @ Override public final void setBackgroundStyle ( String backgroundType ) { } @ Override public String getBackgroundStyle ( ) { } @ Override public ImageWindow getSnapLiveWin ( ) { } @ Override public String runAcquisition ( ) throws MMScriptException { } @ Override public String runAcquisition ( String name , String root ) throws MMScriptException { testForAbortRequests ( ) ; if ( ( acqControlWin_ ) != null ) { String acqName = acqControlWin_ . runAcquisition ( name , root ) ; try { MMAcquisition acq = acqMgr_ . getAcquisition ( acqName ) ; Datastore store = acq . getDatastore ( ) ; <START_BUG> while ( ! ( store . getIsLocked ( ) ) ) { <END_BUG> Thread . sleep ( 100 ) ; } } catch ( InterruptedException e ) { ReportingUtils . showError ( e ) ; } return acqName ; } else { throw new MMScriptException ( "Acquisition<seq2seq4repair_space>setup<seq2seq4repair_space>window<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>open<seq2seq4repair_space>for<seq2seq4repair_space>this<seq2seq4repair_space>command<seq2seq4repair_space>to<seq2seq4repair_space>work." ) ; } } @ Override public void loadAcquisition ( String path ) throws MMScriptException { } @ Override public void setPositionList ( PositionList pl ) throws MMScriptException { } @ Override public PositionList getPositionList ( ) throws MMScriptException { } @ Override public void sleep ( long ms ) throws MMScriptException { } @ Override public String getUniqueAcquisitionName ( String stub ) { } public void openAcquisition ( String name , String rootDir , int nrFrames , int nrChannels , int nrSlices , int nrPositions ) throws MMScriptException { } public void openAcquisition ( String name , String rootDir , int nrFrames , int nrChannels , int nrSlices ) throws MMScriptException { } public void openAcquisition ( String name , String rootDir , int nrFrames , int nrChannels , int nrSlices , int nrPositions , boolean show ) throws MMScriptException { } public void openAcquisition ( String name , String rootDir , int nrFrames , int nrChannels , int nrSlices , boolean show ) throws MMScriptException { } @ Override public void openAcquisition ( String name , String rootDir , int nrFrames , int nrChannels , int nrSlices , int nrPositions , boolean show , boolean save ) throws MMScriptException { } public void openAcquisition ( String name , String rootDir , int nrFrames , int nrChannels , int nrSlices , boolean show , boolean virtual ) throws MMScriptException { } @ Override @ Deprecated public String createAcquisition ( JSONObject summaryMetadata , boolean diskCached , boolean displayOff ) { } private void initializeAcquisitionFromTags ( String name , JSONObject tags ) throws JSONException , MMScriptException { } @ Override public void initializeAcquisition ( String name , int width , int height , int byteDepth , int bitDepth ) throws MMScriptException { } @ Override public int getAcquisitionImageWidth ( String acqName ) throws MMScriptException { } @ Override public int getAcquisitionImageHeight ( String acqName ) throws MMScriptException { } @ Override public int getAcquisitionImageBitDepth ( String acqName ) throws MMScriptException { } @ Override public int getAcquisitionImageByteDepth ( String acqName ) throws MMScriptException { } @ Override public int getAcquisitionMultiCamNumChannels ( String acqName ) throws MMScriptException { } @ Override public Boolean acquisitionExists ( String name ) { }

Fix:
while ( ! ( store . getIsFrozen ( ) ) ) {