internal IObject Create(Repository aRepository, string aId)
{
switch (iType)
{
case EObjectType.Blob:
return (new Blob(aRepository, aId, iContents));
case EObjectType.Commit:
return (new Commit(new CommitRef(aRepository, aId, iContents)));
case EObjectType.Tag:
return (new Tag(aRepository, aId, iContents));
case EObjectType.Tree:
return (new Tree(new TreeRef(aRepository, aId, iContents)));
default:
throw (new GitException("Object " + aId + " corrupt"));
}
}