### Question:
PagePermission extends Permission implements Serializable { public boolean equals( final Object obj ) { if ( !( obj instanceof PagePermission ) ) { return false; } final PagePermission p = ( PagePermission )obj; return p.m_mask == m_mask && p.m_page.equals( m_page ) && p.m_wiki != null && p.m_wiki.equals( m_wiki ); } protected  PagePermission(); private  PagePermission( final String actions );  PagePermission( final String page, final String actions );  PagePermission( final Page page, final String actions ); boolean equals( final Object obj ); String getActions(); String getPage(); String getWiki(); int hashCode(); boolean implies( final Permission permission ); @Override PermissionCollection newPermissionCollection(); String toString(); static final String COMMENT_ACTION; static final String DELETE_ACTION; static final String EDIT_ACTION; static final String MODIFY_ACTION; static final String RENAME_ACTION; static final String UPLOAD_ACTION; static final String VIEW_ACTION; static final PagePermission COMMENT; static final PagePermission DELETE; static final PagePermission EDIT; static final PagePermission RENAME; static final PagePermission MODIFY; static final PagePermission UPLOAD; static final PagePermission VIEW; }### Answer:
@Test public final void testEqualsObject() { PagePermission p1 = new PagePermission( "mywiki:Main", "view,edit,delete" ); PagePermission p2 = new PagePermission( "mywiki:Main", "view,edit,delete" ); PagePermission p3 = new PagePermission( "mywiki:Main", "delete,view,edit" ); PagePermission p4 = new PagePermission( "mywiki:Main*", "delete,view,edit" ); Assertions.assertEquals( p1, p2 ); Assertions.assertEquals( p1, p3 ); Assertions.assertFalse( p3.equals( p4 ) ); }