Sachverhalt: Sachverhalt: A. Die Bezirksanwaltschaft II für den Kanton Zürich erhob am 22. Oktober 2002 gegen X._ Anklage wegen Widerhandlung gegen das Bundesgesetz über die Betäubungsmittel (BetmG). Sie warf dem Angeklagten vor, er habe im November 2001 A._ für eine Entschädigung von Fr. 8'000.-- und 100 g Kokain den Auftrag zur Einfuhr von rund 4,8 kg Kokain aus der Dominikanischen Republik erteilt (Anklageziffer I/2). Im Weiteren legte die Bezirksanwaltschaft dem Angeklagten zur Last, er habe im gleichen Zeitraum die Einfuhr von ca. 1 kg Kokain aus Bolivien organisiert. Es sei jedoch nicht zu einer Lieferung dieser Drogen an den Angeklagten gekommen, da der vorgesehene Kurier sich geweigert habe, den Transport auszuführen. Konkret habe sich der Angeklagte mit B._, der im Kanton Genf eine mehrjährige Freiheitsstrafe wegen Drogenhandels verbüsst habe, telefonisch in Verbindung gesetzt und sich bei diesem nach einer Person erkundigt, die ihm - dem Angeklagten - Kokain liefern würde. Daraufhin habe B._ seinen in Bolivien wohnhaften Schwager C._ ersucht, 1 kg Kokain zu organisieren und in die Schweiz zu transportieren. In der Folge sei es aber nicht zur geplanten Drogeneinfuhr gekommen, da sich der Schwager von B._ aus Furcht vor den strengen Kontrollen nach dem 11. September 2001 schliesslich geweigert habe, den Transport durchzuführen (Anklageziffer III). Sodann führte die Bezirksanwaltschaft aus, der Angeklagte habe seit 1996 zu verschiedenen Zeitpunkten an diverse Abnehmer Kokain in Portionen von 2 bis 10 Gramm verkauft und einmal einem Interessenten 60 Gramm angeboten (Anklageziffer II). Das Bezirksgericht Zürich sprach den Angeklagten mit Urteil vom 24. Januar 2003 der mehrfachen Widerhandlung gegen das Betäubungsmittelgesetz im Sinne von Art. 19 Ziff. 1 Abs. 4, 5 und 6 BetmG in Verbindung mit Art. 19 Ziff. 2 lit. a BetmG schuldig und bestrafte ihn mit 5 Jahren Zuchthaus, unter Anrechnung von 413 Tagen Haft. Mit Beschluss vom gleichen Datum trat das Bezirksgericht auf verschiedene Anklagevorwürfe nicht ein. Auf Berufung des Angeklagten hin bestätigte das Obergericht des Kantons Zürich am 2. September 2003 den erstinstanzlichen Entscheid im Schuld- und Strafpunkt. Der Angeklagte legte gegen das Urteil des Obergerichts eine kantonale Nichtigkeitsbeschwerde ein. Mit Sitzungsbeschluss vom 5. April 2004 wies das Kassationsgericht des Kantons Zürich die Beschwerde ab, soweit darauf eingetreten werden konnte. Das Bezirksgericht Zürich sprach den Angeklagten mit Urteil vom 24. Januar 2003 der mehrfachen Widerhandlung gegen das Betäubungsmittelgesetz im Sinne von Art. 19 Ziff. 1 Abs. 4, 5 und 6 BetmG in Verbindung mit Art. 19 Ziff. 2 lit. a BetmG schuldig und bestrafte ihn mit 5 Jahren Zuchthaus, unter Anrechnung von 413 Tagen Haft. Mit Beschluss vom gleichen Datum trat das Bezirksgericht auf verschiedene Anklagevorwürfe nicht ein. Auf Berufung des Angeklagten hin bestätigte das Obergericht des Kantons Zürich am 2. September 2003 den erstinstanzlichen Entscheid im Schuld- und Strafpunkt. Der Angeklagte legte gegen das Urteil des Obergerichts eine kantonale Nichtigkeitsbeschwerde ein. Mit Sitzungsbeschluss vom 5. April 2004 wies das Kassationsgericht des Kantons Zürich die Beschwerde ab, soweit darauf eingetreten werden konnte. B. X._ erhob gegen diesen Entscheid staatsrechtliche Beschwerde beim Bundesgericht. Er beantragt, der angefochtene Beschluss sei aufzuheben und die Sache sei zu neuer Entscheidung an das Kassationsgericht zurückzuweisen. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. B. X._ erhob gegen diesen Entscheid staatsrechtliche Beschwerde beim Bundesgericht. Er beantragt, der angefochtene Beschluss sei aufzuheben und die Sache sei zu neuer Entscheidung an das Kassationsgericht zurückzuweisen. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. C. Die Staatsanwaltschaft und das Kassationsgericht des Kantons Zürich verzichteten auf eine Vernehmlassung. 