'Fetch instance from the datastore of a specific Model type using key.
We support Key objects and string keys (we convert them to Key objects
automatically).
Useful for ensuring that specific instance types are retrieved from the
datastore.  It also helps that the source code clearly indicates what
kind of object is being retreived.  Example:
story = Story.get(story_key)
Args:
keys: Key within datastore entity collection to find; or string key;
or list of Keys or string keys.
config: datastore_rpc.Configuration to use for this request.
Returns:
If a single key was given: a Model instance associated with key
for the provided class if it exists in the datastore, otherwise
None. If a list of keys was given: a list where list[i] is the
Model instance for keys[i], or None if no instance exists.
Raises:
KindError if any of the retreived objects are not instances of the
type associated with call to \'get\'.'

@classmethod
def get(cls, keys, **kwargs):

    results = get(keys, **kwargs)
    if (results is None):
        return None
    if isinstance(results, Model):
        instances = [results]
    else:
        instances = results
    for instance in instances:
        if (not ((instance is None) or isinstance(instance, cls))):
            raise KindError(('Kind    %r    is    not    a    subclass    of    kind    %r' % (instance.kind(), cls.kind())))
    return results
