code: private void setBreakpoint(File file, int line, String condition)
  			throws Exception
  	{
  		if (file == null)
  		{
  			file = interpreter.getDefaultFile();
  		}
  
  		if (file == null || file.getPath().equals("?"))
  		{
  			Set<File> files = interpreter.getSourceFiles();
  
  			if (files.size() > 1)
  			{
  				println("Assuming file " + file.getPath());
  			} else if (files.isEmpty())
  			{
  				println("No files defined");
  				return;
  			}
  
  			file = files.iterator().next();
  		}
  
  		PStm stmt = interpreter.findStatement(file, line);
  
  		if (stmt == null)
  		{
  			PExp exp = interpreter.findExpression(file, line);
  
  			if (exp == null)
  			{
  				println("No breakable expressions or statements at " + file
  						+ ":" + line);
  			} else
  			{
  				interpreter.clearBreakpoint(BreakpointManager.getBreakpoint(exp).number);
  				Breakpoint bp = interpreter.setBreakpoint(exp, condition);
  				println("Created " + bp);
  				println(interpreter.getSourceLine(bp.location));
  			}
  		} else
  		{
  			interpreter.clearBreakpoint(BreakpointManager.getBreakpoint(stmt).number);
  			Breakpoint bp = interpreter.setBreakpoint(stmt, condition);
  			println("Created " + bp);
  			println(interpreter.getSourceLine(bp.location));
  		}
  	}
docs: Set a breakpoint at the given file and line with a condition.
  
  @param file
  The file name
  @param line
  The line number
  @param condition
  Any condition for the breakpoint, or null
  @throws Exception
  Problems parsing condition.