public PossibleConnection engageInsideParagraphs(
			int i, int j, int firstInParagraph, int positionInParagraph) {
			/* Inicijalizacija */
		// Slucaj spoja 
		mostProbable11.setconnectionCase(11);      
		// Pretpostavimo da je to nemoguc spoj
		mostProbable11.setProbability(0.0);	       	
		// Ocistimo listu elemenata koji bi se ovim spojem spojili
		mostProbable11.getkeysInConnection().clear(); 
		// Ubacimo element(e) s lijeve strane koji bi se ovim spojem spojio
		// i element(e) s desne strane (inicijalno nepostojeci elementi)
		mostProbable11.getkeysInConnection().add( dataModel.getKeys1().get(i) );
		mostProbable11.getkeysInConnection().add( -1 );
		
		// Ako je element u jeziku L1 vec povezan, onda ne mozemo raditi ovu
		// iteraciju.
		if ( dataModel.getConnections( dataModel.getKeys1().get(i) ).isEmpty()==false ) return mostProbable11;
		
		// Pomocna varijabla za spremanje vjerojatnosti
		double p;
		// "Vadjenje" duljine segmenta u jeziku L1
		int len1 = dataModel.getElement( dataModel.getKeys1().get(i) ).length();
		int len2=0;
		
		// Ova petlja skenira moguce spojeve s elementima udaljenim maksimalno
		// searchWidth mjesta
		for (int b = (-searchWidth); b <= (searchWidth); ++b) {
			int i2 = firstInParagraph+positionInParagraph+b;
			// Pokusavamo li adresirati izvan raspona liste jezika L2..
			if ( ( i2<0 ) 
				 | 
				 ( i2>=dataModel.getKeys2().size() )
			    )  continue;
			// ... ili izvan odlomka koji se trenutno obradjuje.
			if ( dataModel.getParagraphForElement( keys2.get(i2) )!=j ) continue;
			
			// Ako je element s desne strane vec povezan, ne uzimamo ga u obzir
			if ( dataModel.getConnections( dataModel.getKeys2().get(i2) ).isEmpty()==false 
				) continue;
			
			// "Vadjenje" duljine segmenta koji se promatra u jeziku L2
			// len1 je popunjen jos prije ove petlje.
			len2 = dataModel.getElement( dataModel.getKeys2().get(i2) ).length();
			// Racunanje vjerojatnosti tog spoja
			p = ProbabilityComputation.computeP(len1, len2, 11);
			
			if ( p > mostProbable11.getProbability() ) {
				mostProbable11.setProbability(p);
				
				// Makne se onaj iz L2 s kojim se spaja element iz L1...
				mostProbable11.getkeysInConnection().removeLast();
				// ... i na njegovo mjesto se stavi novi, vjerojatniji
				mostProbable11.getkeysInConnection().add( dataModel.getKeys2().get(i2) );		
			}
		}
		return mostProbable11;
	}