Buggy code:
public class OutputParameters implements StitchingAppParamFunctions { private static final String METADATA_PATH = "metadataPath" ; private static final String OUTPUT_PATH = "outputPath" ; private static final String DISPLAY_STITCHING = "displayStitching" ; private static final String OUTPUT_FULL_IMAGE = "outputFullImage" ; private static final String OUTPUT_META = "outputMeta" ; private static final String OUTPUT_IMG_PYRAMID = "outputImgPyramid" ; private static final String OUT_FILE_PREFIX = "outFilePrefix" ; private static final String BLENDING_MODE = "blendingMode" ; private static final String BLENDING_ALPHA = "blendingAlpha" ; private static final String metadataSuffix = ".txt" ; private static final String absPosFilename = "global-positions" ; private static final String relPosFilename = "relative-positions" ; private static final String relPosNoOptFilename = "relative-positions-no-optimization" ; private static final String fullImgFilename = "stitched" ; private static final String statisticsFilename = "statistics" ; private static final String hillClimbPosFilename = "hillclimb-starting-positions" ; private String metadataPath ; private String outputPath ; private boolean displayStitching ; private boolean outputFullImage ; private boolean outputMeta ; private boolean outputImgPyramid ; private String outFilePrefix ; private BlendingMode blendingMode ; private double blendingAlpha ; public OutputParameters ( ) { } public String getOutputImageName ( int timeSlice ) { } public String getHillClimbStartingPositionsName ( int timeslice ) { } public String getStatFileName ( ) { } public static String getAbsPosFileName ( int timeSlice ) { } public static String getRelPosFileName ( int timeSlice ) { } public static String getRelPosNoOptFileName ( int timeSlice ) { } public File getStatsFile ( ) { } public File getHillClimbPositionFile ( int timeSlice ) { <START_BUG> return new File ( this . outputPath , this . getHillClimbStartingPositionsName ( timeSlice ) ) ; <END_BUG> } public File getOutputImageFile ( int timeSlice ) { } public File getAbsPosFile ( int timeSlice ) { } public File getRelPosFile ( int timeSlice ) { } public File getRelPosNoOptFile ( int timeSlice ) { } @ Override public boolean checkParams ( ) { } @ Override public boolean loadParams ( File file ) throws IllegalArgumentException { } @ Override public boolean loadParams ( Preferences pref ) { } @ Override public void printParams ( LogType logLevel ) { } @ Override public void loadMacro ( String macroOptions ) { } @ Override public void recordMacro ( ) { } @ Override public void saveParams ( Preferences pref ) { } @ Override public boolean saveParams ( FileWriter fw ) { } public String getMetadataPath ( ) { } public void setMetadataPath ( String metadataPath ) { } public String getOutputPath ( ) { } public void setOutputPath ( String outputPath ) { } public boolean isDisplayStitching ( ) { } public void setDisplayStitching ( boolean displayStitching ) { } public boolean isOutputFullImage ( ) { } public void setOutputFullImage ( boolean outputFullImage ) { } public boolean isOutputMeta ( ) { } public void setOutputMeta ( boolean outputMeta ) { } public boolean isOutputImgPyramid ( ) { } public void setOutputImgPyramid ( boolean outputImgPyramid ) { } public String getOutFilePrefix ( ) { } public void setOutFilePrefix ( String outFilePrefix ) { } public BlendingMode getBlendingMode ( ) { } public void setBlendingMode ( BlendingMode blendingMode ) { } public double getBlendingAlpha ( ) { } public void setBlendingAlpha ( double blendingAlpha ) { } }

Fix:
return new File ( this . metadataPath , this . getHillClimbStartingPositionsName ( timeSlice ) ) ;