I'm trying to change the behavior of "K" in certain circumstances, but keep its original functionality in all the others. Here's my failed attempt

```
function! GetDocumentation()
    if &filetype == 'java'
        JavaDocSearch
    else
        normal K
    endif
endfunction

nnoremap K :call GetDocumentation()<CR>

```

However since I use K in a function, when it's called as result of the remapping, the new mapping of K is used, and I get infinite recursion. I guess I could somehow fit the gist of the function onto the `nnoremap` line, but it seems awkward, and it would be nice to forcefully use the original mapping of a key.

Hope this makes sense,

Thanks.