public List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature,
PyEdit edit, int offset) throws BadLocationException {
fillParticipants();
PySourceViewer s = edit.getPySourceViewer();
int line = ps.getLineOfOffset(offset);
OrderedSet<MarkerAnnotationAndPosition> markersAtLine = new OrderedSet<MarkerAnnotationAndPosition>();
//Add it to a set to make sure that the entries are unique.
//-- i.e.: the code analysis seems to be creating 2 markers in the following case (when sys is undefined):
//sys.call1().call2()
//So, we add it to a set to make sure we'll only analyze unique markers.
//Note that it'll check equality by the marker type and text (not by position), so, if a given error
//appears twice in the same line being correct, we'll only show the options once here (which is what
//we want).
List<MarkerAnnotationAndPosition> markersAtLine2 = s.getMarkersAtLine(line,
AnalysisRunner.PYDEV_ANALYSIS_PROBLEM_MARKER);
markersAtLine.addAll(markersAtLine2);
ArrayList<ICompletionProposal> props = new ArrayList<ICompletionProposal>();