protected virtual IPlatformType GetPlatformType() { Contract.Ensures(Contract.Result<IPlatformType>() != null); return new PlatformType(this); }