question: private static boolean isSupportedAddMirrorsVirtualPoolChangeForVplexDistributed ( Volume volume , VirtualPool currentVpool , VirtualPool newVpool , DbClient dbClient , StringBuffer notSuppReasonBuff ) { s_logger . info ( String . format ( "Checking isSupportedAddMirrorsVirtualPoolChangeForVplexDistributed from [%s] to [%s]..." , currentVpool . getLabel ( ) , newVpool . getLabel ( ) ) ) ; boolean supported = false ; if ( newVpool . getMaxNativeContinuousCopies ( ) > 0 && newVpool . getMirrorVirtualPool ( ) != null ) { String [ ] include = new String [ ] { TYPE , VARRAYS , REF_VPOOL , HIGH_AVAILABILITY , PROTECTION_VARRAY_SETTINGS , FAST_EXPANSION , ACLS , INACTIVE , DRIVE_TYPE , ARRAY_INFO , PROVISIONING_TYPE , PROTOCOLS } ; String [ ] contain = new String [ ] { MATCHED_POOLS , ASSIGNED_STORAGE_POOLS } ; Map < String , Change > changes = analyzeChanges ( currentVpool , newVpool , include , null , contain ) ; if ( ! changes . isEmpty ( ) ) { notSuppReasonBuff . append ( "These target virtual pool differences are invalid: " ) ; fillInNotSupportedReasons ( changes , notSuppReasonBuff ) ; return false ; } supported = true ; } VirtualPool currentHaVpool = VirtualPool . getHAVPool ( currentVpool , dbClient ) ; if ( currentHaVpool == null ) { currentHaVpool = currentVpool ; } VirtualPool newHaVpool = VirtualPool . getHAVPool ( newVpool , dbClient ) ; if ( currentHaVpool != null && newHaVpool != null ) { if ( newHaVpool . getMaxNativeContinuousCopies ( ) > 0 && newHaVpool . getMirrorVirtualPool ( ) != null ) { String [ ] include = new String [ ] { TYPE , VARRAYS , REF_VPOOL , PROTECTION_VARRAY_SETTINGS , FAST_EXPANSION , ACLS , INACTIVE , DRIVE_TYPE , ARRAY_INFO , PROVISIONING_TYPE , PROTOCOLS } ; String [ ] contain = new String [ ] { MATCHED_POOLS , ASSIGNED_STORAGE_POOLS } ; Map < String , Change > changes = analyzeChanges ( currentHaVpool , newHaVpool , include , null , contain ) ; if ( ! changes . isEmpty ( ) ) { notSuppReasonBuff . append ( "These target virtual pool differences are invalid: " ) ; fillInNotSupportedReasons ( changes , notSuppReasonBuff ) ; return false ; } supported = true ; } } return supported ; }
target:  This method is used for the VPLEX Distributed volume to check if add mirror(s) is supported by changing vpool to newVpool.