@Override
	public BencodeTreeNode getChild ( Object parent, int index ) {
		Value<?> vprt = ( (BencodeTreeNode) parent ).getValue();
		
		if ( vprt instanceof ListValue ) {
			return new BencodeTreeNode( ( (ListValue) vprt ).get( index ), vprt, index );
			
		} else if ( vprt instanceof DictionaryValue ) {
			Iterator<Map.Entry<String,Value<?>>> it = ( (DictionaryValue) vprt ).getValue().entrySet().iterator();
			for ( int i = 0; i < index; i++ ) {
				it.next();
			}
			
			Map.Entry<String,Value<?>> entry = it.next();
			return new BencodeTreeNode( entry.getValue(), vprt, '"' + entry.getKey() + '"' );
		}
		
		return null;
	}