FFT and IFFT : filtering frequencies
FloatFFT has a funny array layout. Real and Imaginary components of each datapoint/bin have to be interleaved in the data array you provide.
The FFT plot you show it is not a common FFT plot: is the real and imaginary part of the FFT interleaved: $[ Re\{X[0]\}, Im\{X[0]\}, Re\{X[1]\}, Im\{X[1]\}, ... ]$.

Handle two consecutive points everywhere accordingly. For example: $bin[0] = abs( sqrt( a[0]*a[0] + a[1]*a[1] )$ and so on... Also, follow that layout when you perform the inverse. 

Documentation is not the best and you will have to read it carefully.

Bonus: the reason you have to provide a $2 \cdot n$ array to some functions is not that the FFT has to double the data set length, it is because each bin is stored in two consecutive array positions.