void onEntityRemoved( final long someId ) {
        //get all processors and the entities they're interested in
        final TLongObjectMap<TLongList> processorIntrestedEntityTable =
                _dataCore.getProcessId_interestedEntity_Table();
        //create an emtpy list, to fill with all processors having interest in the
        //entity to be removed
        final TLongList processorsContainigEntityList = new TLongArrayList();

        //iterate over all processors and determine if they are interested
        //in the entity to be removed
        processorIntrestedEntityTable.forEachEntry(
                new TLongObjectProcedure<TLongList>() {
                    //
                    @Override
                    public boolean execute( long processorId, TLongList interestedEntityList ) {
                        //iterate over all entities in the list
                        for ( int i = 0; i < interestedEntityList.size(); ++i ) {
                            //and find out if the given entity is in it                                
                            if ( interestedEntityList.get( i ) == someId ) {
                                //if so add the processor to the list
                                processorsContainigEntityList.add( processorId );
                            }
                        }
                        return true;
                    }
                } );

        //iterate over the list of processors happen to be interested in
        //the entity which is to be removed
        for ( int i = 0; i < processorsContainigEntityList.size(); ++i ) {
            //and remove the entity from their interest list
            processorIntrestedEntityTable.get( processorsContainigEntityList.get( i ) ).remove( someId );
        }
    }