M extends Writable> {
boolean isPointerListEncoding();
Iterable<M> getVertexMessages(I vertexId) throws IOException;
void clearVertexMessages(I vertexId) throws IOException;
void clearAll() throws IOException;
<BUG>boolean hasMessagesForVertex(I vertexId);
void addPartitionMessages(</BUG>
int partitionId, VertexIdMessages<I, M> messages)
throws IOException;
void finalizeStore();

M extends Writable> {
boolean isPointerListEncoding();
Iterable<M> getVertexMessages(I vertexId) throws IOException;
void clearVertexMessages(I vertexId) throws IOException;
void clearAll() throws IOException;
boolean hasMessagesForVertex(I vertexId);
boolean hasMessagesForPartition(int partitionId);
void addPartitionMessages(
int partitionId, VertexIdMessages<I, M> messages)
throws IOException;
void finalizeStore();
