function processEquivalentIds( element, elementMap ){
	    var eqIds = element.equivalents();

	    if ( !eqIds || element.equivalentBase() ) {
	      return;
	    }

	    // Replace ids with the corresponding objects
	    for ( var i = 0, l = eqIds.length; i < l; ++i ) {
	      var eqId = findId(eqIds[i]);
	      var eqObject = elementMap[eqId];

	      if ( eqObject ) {
	        // Cross reference both objects
	        eqObject.equivalents(eqObject.equivalents());
	        eqObject.equivalents().push(element);
	        eqObject.equivalentBase(element);
	        eqIds[i] = eqObject;

	        // Hide other equivalent nodes
	        eqObject.visible(false);
	      } else {
	        console.warn("No class/property was found for equivalent id: " + eqId);
	      }
	    }
	  }
/**
	   * Replaces the ids of equivalent nodes/properties with the matching objects, cross references them
	   * and tags them as processed.
	   * @param element a node or a property
	   * @param elementMap a map where nodes/properties can be looked up
	   */
Replaces the ids of equivalent nodes/properties with the matching objects, cross references them
and tags them as processed.
@param element a node or a property
@param elementMap a map where nodes/properties can be looked up
Replaces the ids of equivalent nodes / properties with the matching objects cross references them and tags them as processed . @param element a node or a property @param elementMap a map where nodes / properties can be looked up
function processEquivalentIds( element, elementMap ){
	    var eqIds = element.equivalents();
	    if ( !eqIds || element.equivalentBase() ) {
	      return;
	    }
	    for ( var i = 0, l = eqIds.length; i < l; ++i ) {
	      var eqId = findId(eqIds[i]);
	      var eqObject = elementMap[eqId];
	      if ( eqObject ) {
	        eqObject.equivalents(eqObject.equivalents());
	        eqObject.equivalents().push(element);
	        eqObject.equivalentBase(element);
	        eqIds[i] = eqObject;
	        eqObject.visible(false);
	      } else {
	        console.warn("No class/property was found for equivalent id: " + eqId);
	      }
	    }
	  }
function processEquivalentIds ( element , elementMap ) { var eqIds = element . equivalents ( ) ; if ( ! eqIds || element . equivalentBase ( ) ) { return ; } for ( var i = 0 , l = eqIds . length ; i < l ; ++ i ) { var eqId = findId ( eqIds [ i ] ) ; var eqObject = elementMap [ eqId ] ; if ( eqObject ) { eqObject . equivalents ( eqObject . equivalents ( ) ) ; eqObject . equivalents ( ) . push ( element ) ; eqObject . equivalentBase ( element ) ; eqIds [ i ] = eqObject ; eqObject . visible ( false ) ; } else { console . warn ( "No class/property was found for equivalent id: " + eqId ) ; } } }
Replaces the ids of equivalent nodes/properties with the matching objects, cross references them
 and tags them as processed.
Replaces the ids of equivalent nodes / properties with the matching objects cross references them and tags them as processed .
// Replace ids with the corresponding objects // Cross reference both objects // Hide other equivalent nodes