A system comprising: one or more processors; and a memory; one or more programs, wherein the one or more programs are stored in memory and configured to be executed by the one or more processors, the one or more programs including instructions to predict one or more recommendations of methods to complete a current method invocation at a current position in a source code editor, the instructions being for: obtaining at least one method invocation in a source code program preceding the current method invocation at the current position in the source code editor, wherein the at least one method invocation and the current method invocation at the current position are issuances of a call to a respective method or property of the same class; utilizing a Markov chain model, embodied as a lookup table or a dictionary, associated with the same class to search for a sequence of method invocations most likely to predict one or more recommendations of methods to complete the current method invocation using a characteristic of a context of the at least one method invocation, wherein the Markov chain model includes one or more sequences of method invocations, a sequence including transition probabilities representing a likelihood of transitioning from one method invocation to another method invocation in a sequence, the characteristics of the context include one or more of: a spatial position of a method invocation, a name of a class associated with a method invocation, a name of a method or property invoked, and a name of a function containing a method invocation; and displaying the one or more predicted recommendations of methods. one or more processors; and a memory; one or more programs, wherein the one or more programs are stored in memory and configured to be executed by the one or more processors, the one or more programs including instructions to predict one or more recommendations of methods to complete a current method invocation at a current position in a source code editor, the instructions being for: obtaining at least one method invocation in a source code program preceding the current method invocation at the current position in the source code editor, wherein the at least one method invocation and the current method invocation at the current position are issuances of a call to a respective method or property of the same class; utilizing a Markov chain model, embodied as a lookup table or a dictionary, associated with the same class to search for a sequence of method invocations most likely to predict one or more recommendations of methods to complete the current method invocation using a characteristic of a context of the at least one method invocation, wherein the Markov chain model includes one or more sequences of method invocations, a sequence including transition probabilities representing a likelihood of transitioning from one method invocation to another method invocation in a sequence, the characteristics of the context include one or more of: a spatial position of a method invocation, a name of a class associated with a method invocation, a name of a method or property invoked, and a name of a function containing a method invocation; and displaying the one or more predicted recommendations of methods. obtaining at least one method invocation in a source code program preceding the current method invocation at the current position in the source code editor, wherein the at least one method invocation and the current method invocation at the current position are issuances of a call to a respective method or property of the same class; utilizing a Markov chain model, embodied as a lookup table or a dictionary, associated with the same class to search for a sequence of method invocations most likely to predict one or more recommendations of methods to complete the current method invocation using a characteristic of a context of the at least one method invocation, wherein the Markov chain model includes one or more sequences of method invocations, a sequence including transition probabilities representing a likelihood of transitioning from one method invocation to another method invocation in a sequence, the characteristics of the context include one or more of: a spatial position of a method invocation, a name of a class associated with a method invocation, a name of a method or property invoked, and a name of a function containing a method invocation; and displaying the one or more predicted recommendations of methods.