i have to say... i was assuming you were not the eexception to the rule.. and now i think i may as well assume that you are the exception to the rule.. and in that case, if you really do need to take in 4000 calories because youve tried 2500, 3000, 3500 for extended periods of time and you diditn gain, then my advice would be to eat the diet i wrote about below.. 50 grams protien every 4 hours with 50 grams of carbs and 15 grams of fats.. this could be as simple as a sandwich (2 pieces of bread = 40-50carbs, throw in 8-10ounces of sliced meat, olives, avacado, olive oil, any kind of fat).. or whatever you want to eat.. and eat some junk food every now and then too... im assuming you can eat all of that food.... now, that should give you about 2500-3000 cals per day depending on how long your awake... on top of that, in order to reach 4000 caloires, i want you to drink a milkshake/smoothie with every meal. make it with whatever you want. make it about 200-250 calories. best to use healthy stuff like olive oil, fruits, healthy fats and natural carbs.
I DOUBT YOU NEED THAT MANY CALORIES TO GAIN
you probably need to rethink your training if you cant gain on ~2500 cals per day + ~1 gram protein per lb lean bodyweight..
eat every ~4 hours.. ~50grams protein each meal, ~15grams healthy fats, carbs depending on metabolism/goals.. usually 0 carbs except post training when cutting, and ~50grams carbs per meal +100grams post training when "bulking"
lots of water
just general guidlines.. if your a really really hard gainer you might need to eat some junk food every day or two as well