question: public Map < Integer , Set < String > > showTopology ( ) throws NetworkDeviceControllerException { Map < Integer , Set < String > > peerDevicesMap = new HashMap < Integer , Set < String > > ( ) ; SSHPrompt [ ] prompts = { SSHPrompt . POUND , SSHPrompt . GREATER_THAN } ; StringBuilder buf = new StringBuilder ( ) ; sendWaitFor ( MDSDialogProperties . getString ( "MDSDialog.show.topology.cmd" ) , 10000 , prompts , buf ) ; String [ ] lines = getLines ( buf ) ; Integer vsanId = null ; String [ ] regex = { MDSDialogProperties . getString ( "MDSDialog.show.topology.vsan.match" ) , MDSDialogProperties . getString ( "MDSDialog.show.topology.peer.ip.match" ) } ; String [ ] groups = new String [ 10 ] ; for ( String line : lines ) { int index = match ( line , regex , groups ) ; switch ( index ) { case 0 : vsanId = new Integer ( groups [ 0 ] ) ; break ; case 1 : Set < String > peerDevicesIpAddr = peerDevicesMap . get ( vsanId ) ; if ( peerDevicesIpAddr == null ) { peerDevicesIpAddr = Sets . newHashSet ( ) ; peerDevicesMap . put ( vsanId , peerDevicesIpAddr ) ; } String peerDevice = groups [ 0 ] + groups [ 2 ] ; peerDevicesIpAddr . add ( peerDevice ) ; break ; } } return peerDevicesMap ; }
target:  Return map vsan 's peer devices' ip address