public 
    void updateProcessorInterest( long someProcessorId ) {
        //local vars
        DataCore db;
        List<Class<? extends Data>> interestList;

        //get the current DataCore
        db = _dataCenter.getDataCore();
        //get the list of data this processor is interested in
        interestList = db.getId_Processor_Table()
        				 .get( someProcessorId )
        				 .getInterestedDataList();

        //check if there is an entry for this interest combination
        //and if not
        if( ! db.getData_InterestedProcessor_Table()
        	    .containsKey( interestList ) ) {
            //create one
            db.getData_InterestedProcessor_Table().put(
                    interestList,
                    new TLongArrayList() );
        }
        
        //check if this interest combination already contains 
        //the given processor, and if not
        if( ! db.getData_InterestedProcessor_Table()
        		.get( interestList )
        		.contains( someProcessorId ) ) {
            //add its id
            db.getData_InterestedProcessor_Table()
              .get( interestList )
              .add( someProcessorId );
        }

        //assemble a list of entities holding the interested data
        final TLongList interestedEntities = 
        		_dataCenter.getEntitiesWithData( interestList );
        //assign the processor the list of entities its interested in
        db.getProcessId_interestedEntity_Table().put(
                someProcessorId, interestedEntities );
    }