Guess Who is the apple thief ?? At the end of class, My mathematics teacher gave us an interesting problem Which is as follow:

Out of six boys exactly two were known to have been stealing apples.
Harry said:Charlie and George.
Donald said:Tom and Charlie
James said:Donald and Tom.
George said:Harry and Charlie.
Charlie said:Donald and James.
Tom couldn't be found.
Four of the five boys interrogated had named one of the miscreants correctly and lied about the other one.The fifth boy had lied outright!
Who stole the apples ??

I tried to apply the logic but failed. I thought three boys have named charlie so charlie must be one of the two, but with the same reasoning I am unable to find the other (though I think this reasoning is wrong as the boys are lying too).
I shall be thankful if you can provide a logical answer to such a great question.

Charlie is obviously a good candidate to focus on first, as he is mentioned more times than anyone else. 
We can start by assuming he is innocent, as this will obviously impose strong constraints on the other choices, and see if that is possible.
If Charlie is not a thief, that means that two of George, Tom and Harry are the thieves, and that one of Harry, James and George was the one making a completely untrue statement.
However this means that James' and Charlie's statements must each contain a correct name. In particular, from Charlie's statement, one of Donald or James must be a thief, and that gives us three thieves - a contradiction of the given constraint of two thieves. So it is not possible for Charlie to be innocent. 
Charlie is one of the apple thieves; George, Tom and Harry are innocent, and either James or Charlie named two innocent boys. In particular, since both of them accused Donald, he must also  be innocent, and James must be the other apple thief.
