Return-Path: X-Original-To: apmail-river-dev-archive@www.apache.org Delivered-To: apmail-river-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 80ADD18D8B for ; Wed, 25 Nov 2015 12:10:39 +0000 (UTC) Received: (qmail 32825 invoked by uid 500); 25 Nov 2015 12:10:39 -0000 Delivered-To: apmail-river-dev-archive@river.apache.org Received: (qmail 32777 invoked by uid 500); 25 Nov 2015 12:10:39 -0000 Mailing-List: contact dev-help@river.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@river.apache.org Delivered-To: mailing list dev@river.apache.org Received: (qmail 32765 invoked by uid 99); 25 Nov 2015 12:10:38 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Nov 2015 12:10:38 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 6D3D2C7142 for ; Wed, 25 Nov 2015 12:10:38 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.744 X-Spam-Level: **** X-Spam-Status: No, score=4.744 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, MIME_QP_LONG_LINE=0.001, MISSING_MIMEOLE=1.843] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=zeus.net.au Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id S-V1-JjZ5_xn for ; Wed, 25 Nov 2015 12:10:36 +0000 (UTC) Received: from server-1n-r58.ipv4.au.syrahost.com (server-1n-r58.ipv4.au.syrahost.com [103.226.222.59]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with ESMTPS id 9EC0340E13 for ; Wed, 25 Nov 2015 12:10:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zeus.net.au; s=default; h=Content-Type:MIME-Version:Message-ID:To:Subject:From:Date; bh=1tO1hw6XIoMCV/vrUS74HT/eclww7Nno6RhALmsmxFs=; b=hmLy+E35RKCuwoyY5v0/51zPePhXiXbkyMtLtJi0sNNf0aqitnYPR3VTeeITGq7ZL2Pykm4TDb3dxVbGwt1k9vkmhz6R5/yGR9IMzfCrjHEZw/xyc9C6p1BnEzYqkFcbNEBkRqzD8AjIU8QWCPUQ+gG4ko5/2qEHUKslhGakcpQ=; Received: from pa49-182-18-146.pa.nsw.optusnet.com.au ([49.182.18.146]:32704 helo=[10.68.164.159]) by webcloud66.au.syrahost.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.85) (envelope-from ) id 1a1Ytv-001rc2-VJ for dev@river.apache.org; Wed, 25 Nov 2015 20:10:26 +0800 Date: Wed, 25 Nov 2015 22:10:14 +1000 (AEST) From: Peter Subject: Re: svn commit: r1716294 - in =?us-ascii?q?=2Friver=2Fjtsk=2Fbranches=2F2=2E2=2Fqa=2Fsrc=2Fcom=2Fsu?= =?us-ascii?q?n=2Fjini=2Ftest=2Fspec=2Fpolicyprovider=3A?= dynamicPolicyProvider/NullCases.java policyFileProvider/NullCases.java To: "dev@river.apache.org" Message-ID: <4261895e7f243a77f9fc39f7ee2b0a08@org.tizen.email> MIME-Version: 1.0 Content-Type: MULTIPART/ALTERNATIVE; BOUNDARY="8323328-1504057059-1448453414=:1366" X-Priority: 3 X-MSMail-Priority: Normal X-OutGoing-Spam-Status: No, score=0.8 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - webcloud66.au.syrahost.com X-AntiAbuse: Original Domain - river.apache.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - zeus.net.au X-Get-Message-Sender-Via: webcloud66.au.syrahost.com: authenticated_id: jini@zeus.net.au X-Source: X-Source-Args: X-Source-Dir: --8323328-1504057059-1448453414=:1366 Content-Type: TEXT/plain; CHARSET=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Interesting, why not change the test to check that npe isn't thrown?=0A=0AI= did notice while reimplimenting the file policy provider, that rivers test= s were very thorough. =C2=A0Now you've confirmed they even helped duplicate= the bugs. =C2=A0So I'll have to fix that, thanks for the info.=0A=0AI was = approached by the openjdk devs about improving Java's policy provider recen= tly and i passed on some tips. =C2=A0I can say however, with the utmost con= fidence that River has the worlds fastest and most scalable policy provider= , by a good margin.=0A=0ARegards,=0A=0APeter.=0A=0A=0ASent from my Samsung = device.=0A=C2=A0=C2=A0Include original message=0A---- Original message ----= =0AFrom: gtrasuk@apache.org=0ASent: 25/11/2015 01:44:21 pm=0ATo: commits@ri= ver.apache.org=0ASubject: svn commit: r1716294 - in /river/jtsk/branches/2.= 2/qa/src/com/sun/jini/test/spec/policyprovider: dynamicPolicyProvider/NullC= ases.java policyFileProvider/NullCases.java=0A=0AAuthor:=C2=A0gtrasuk =0ADa= te:=C2=A0Wed=C2=A0Nov=C2=A025=C2=A003:44:21=C2=A02015 =0ANew=C2=A0Revision:= =C2=A01716294 =0A=0AURL:=C2=A0http://svn.apache.org/viewvc?rev=3D1716294&vi= ew=3Drev =0ALog: =0A=0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0The= =C2=A0tests=C2=A0below=C2=A0check=C2=A0that=C2=A0if=C2=A0you=C2=A0call=C2= =A0getPermissions(codesource)=C2=A0 =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0with=C2=A0a=C2=A0null=C2=A0codesource,=C2=A0a=C2=A0NullPointerE= xception=C2=A0should=C2=A0be=C2=A0thrown.=C2=A0=C2=A0The =0A=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0implementation=C2=A0of=C2=A0it=C2=A0relies= =C2=A0not=C2=A0with=C2=A0DynamicPolicyProvider=C2=A0or=C2=A0PolicyFileProvi= der,=C2=A0but=C2=A0with=C2=A0the =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0underlying=C2=A0Policy=C2=A0object=C2=A0(java.security.Policy),=C2= =A0which=C2=A0used=C2=A0to=C2=A0do=C2=A0just=C2=A0 =0A=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0that. =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0However,=C2=A0= this=C2=A0behaviour=C2=A0was=C2=A0reported=C2=A0as=C2=A0a=C2=A0bug=C2=A0in= =C2=A0JDK-7147830=C2=A0 =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= (2012-02-22),=C2=A0and=C2=A0resolved=C2=A0only=C2=A0in=C2=A0JDK8,=C2=A0as= =C2=A0of=C2=A02012-07-17. =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0So=C2=A0it's=C2=A0no=C2=A0longer=C2=A0appropriate=C2=A0to=C2=A0do=C2=A0t= his=C2=A0test.=C2=A0=C2=A0Commented=C2=A0out=C2=A0for=C2=A0now, =0A=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0remove=C2=A0it=C2=A0completely=C2= =A0if=C2=A0you=C2=A0happen=C2=A0to=C2=A0see=C2=A0this=C2=A0far=C2=A0in=C2= =A0the=C2=A0future. =0A=0A=0AModified: =0A=C2=A0=C2=A0=C2=A0=C2=A0river/jts= k/branches/2.2/qa/src/com/sun/jini/test/spec/policyprovider/dynamicPolicyPr= ovider/NullCases.java =0A=C2=A0=C2=A0=C2=A0=C2=A0river/jtsk/branches/2.2/qa= /src/com/sun/jini/test/spec/policyprovider/policyFileProvider/NullCases.java =0A=0AModified:=C2=A0ri= ver/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policyprovider/dynamicP= olicyProvider/NullCases.java =0AURL:=C2=A0http://svn.apache.org/viewvc/rive= r/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policyprovider/dynamicPol= icyProvider/NullCases.java?rev=3D1716294&r1=3D1716293&r2=3D1716294&view=3Dd= iff =0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D =0A---=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/= test/spec/policyprovider/dynamicPolicyProvider/NullCases.java=C2=A0(origina= l) =0A+++=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policy= provider/dynamicPolicyProvider/NullCases.java=C2=A0Wed=C2=A0Nov=C2=A025=C2= =A003:44:21=C2=A02015 =0A@@=C2=A0-204,10=C2=A0+204,22=C2=A0@@=C2=A0public= =C2=A0class=C2=A0NullCases=C2=A0extends=C2=A0DynamicPo =0A=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0msg=C2=A0=3D=C2=A0"policy.getPermiss= ions((ProtectionDomain)=C2=A0null)"; =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0callGetPermissions((ProtectionDomain)=C2=A0null,=C2=A0= pmGranted,=C2=A0msg); =0A=C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0/*=C2=A0(Greg=C2=A0Trasuk=C2=A0-=C2=A020151124) =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0The=C2=A0test=C2=A0below=C2=A0checks=C2=A0that=C2=A0if=C2=A0you=C2=A0call=C2=A0getPermissions(cod= esource)=C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0with=C2= =A0a=C2=A0null=C2=A0codesource,=C2=A0a=C2=A0NullPointerException=C2=A0shoul= d=C2=A0be=C2=A0thrown.=C2=A0=C2=A0The =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0implementation=C2=A0of=C2=A0it=C2=A0relies=C2=A0not=C2=A0wit= h=C2=A0DynamicPolicyProvider=C2=A0but=C2=A0with=C2=A0the =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0underlying=C2=A0Policy=C2=A0object=C2= =A0(java.security.Policy),=C2=A0which=C2=A0used=C2=A0to=C2=A0do=C2=A0just= =C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0that. =0A+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0However,=C2=A0this=C2=A0behaviour=C2=A0was=C2=A0report= ed=C2=A0as=C2=A0a=C2=A0bug=C2=A0in=C2=A0JDK-7147830=C2=A0 =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(2012-02-22),=C2=A0and=C2=A0resolved=C2= =A0in=C2=A0in=C2=A0JDK8,=C2=A0as=C2=A0of=C2=A02012-07-17. =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0So=C2=A0it's=C2=A0no=C2=A0longer=C2=A0a= ppropriate=C2=A0to=C2=A0do=C2=A0this=C2=A0test.=C2=A0=C2=A0Commented=C2=A0o= ut=C2=A0for=C2=A0now, =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0r= emove=C2=A0it=C2=A0completely=C2=A0if=C2=A0you=C2=A0happen=C2=A0to=C2=A0see= =C2=A0this=C2=A0far=C2=A0in=C2=A0the=C2=A0future. =0A+=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0*/ =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0//=C2=A0Call=C2=A0getPermissions()=C2=A0passing=C2=A0null=C2=A0= as=C2=A0CodeSource =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0//=C2=A0and=C2=A0verify=C2=A0that=C2=A0NullPointerException=C2=A0is=C2= =A0thrown; =0A-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0msg=C2=A0=3D= =C2=A0"policy.getPermissions((CodeSource)=C2=A0null)"; =0A-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0callGetPermissionsNPE((CodeSource)= =C2=A0null,=C2=A0msg); =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= //msg=C2=A0=3D=C2=A0"policy.getPermissions((CodeSource)=C2=A0null)"; =0A+= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//callGetPermissionsNPE((Co= deSource)=C2=A0null,=C2=A0msg); =0A=C2=A0 =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0//=C2=A0Call=C2=A0policy.implies(null,=C2=A0null) = =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//=C2=A0and=C2=A0v= erify=C2=A0that=C2=A0NullPointerException=C2=A0is=C2=A0thrown; =0A=0AModifi= ed:=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policyprovid= er/policyFileProvider/NullCases.java =0AURL:=C2=A0http://svn.apache.org/vie= wvc/river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policyprovider/po= licyFileProvider/NullCases.java?rev=3D1716294&r1=3D1716293&r2=3D1716294&vie= w=3Ddiff =0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D =0A---=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/ji= ni/test/spec/policyprovider/policyFileProvider/NullCases.java=C2=A0(origina= l) =0A+++=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policy= provider/policyFileProvider/NullCases.java=C2=A0Wed=C2=A0Nov=C2=A025=C2=A00= 3:44:21=C2=A02015 =0A@@=C2=A0-112,12=C2=A0+112,24=C2=A0@@=C2=A0public=C2=A0= class=C2=A0NullCases=C2=A0extends=C2=A0PolicyFil =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0*/ =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0callGetPermissionsNPD(); =0A=C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0/*=C2=A0(Greg=C2=A0Trasuk=C2=A0-=C2=A020151124) =0A= +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0The=C2=A0test=C2=A0below= =C2=A0checks=C2=A0that=C2=A0if=C2=A0you=C2=A0call=C2=A0getPermissions(codes= ource)=C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0with=C2=A0= a=C2=A0null=C2=A0codesource,=C2=A0a=C2=A0NullPointerException=C2=A0should= =C2=A0be=C2=A0thrown.=C2=A0=C2=A0The =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0implementation=C2=A0of=C2=A0it=C2=A0relies=C2=A0not=C2=A0wit= h=C2=A0DynamicPolicyProvider=C2=A0but=C2=A0with=C2=A0the =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0underlying=C2=A0Policy=C2=A0object=C2= =A0(java.security.Policy),=C2=A0which=C2=A0used=C2=A0to=C2=A0do=C2=A0just= =C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0that. =0A+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0However,=C2=A0this=C2=A0behaviour=C2=A0was=C2=A0report= ed=C2=A0as=C2=A0a=C2=A0bug=C2=A0in=C2=A0JDK-7147830=C2=A0 =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(2012-02-22),=C2=A0and=C2=A0resolved=C2= =A0in=C2=A0in=C2=A0JDK8,=C2=A0as=C2=A0of=C2=A02012-07-17. =0A+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0So=C2=A0it's=C2=A0no=C2=A0longer=C2=A0a= ppropriate=C2=A0to=C2=A0do=C2=A0this=C2=A0test.=C2=A0=C2=A0Commented=C2=A0o= ut=C2=A0for=C2=A0now, =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0r= emove=C2=A0it=C2=A0completely=C2=A0if=C2=A0you=C2=A0happen=C2=A0to=C2=A0see= =C2=A0this=C2=A0far=C2=A0in=C2=A0the=C2=A0future. =0A+=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0*/ =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0/* =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0*=C2=A0Call=C2=A0getPermissions()=C2=A0passing=C2=A0null=C2=A0as=C2=A0CodeSourc= e =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0and= =C2=A0verify=C2=A0that=C2=A0NullPointerException=C2=A0is=C2=A0thrown; =0A= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*/ =0A-=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0msg=C2=A0=3D=C2=A0"policy.getPerm= issions((CodeSource)=C2=A0null)"; =0A-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0callGetPermissionsNPE((CodeSource)=C2=A0null,=C2=A0msg); =0A+= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//msg=C2=A0=3D=C2=A0"policy= getPermissions((CodeSource)=C2=A0null)"; =0A+=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0//callGetPermissionsNPE((CodeSource)=C2=A0null,=C2=A0m= sg); =0A=C2=A0 =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/* = =0A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0Call= =C2=A0policy.implies(null,=C2=A0null) =0A=0A=0A --8323328-1504057059-1448453414=:1366--