public List<SegmentCommand> parseSegments() throws IOException {
		List<SegmentCommand> segments = new ArrayList<>();
		_reader.setPointerIndex(_commandIndex);
		for (int i = 0; i < nCmds; ++i) {
			int type = _reader.peekNextInt();
			if (type == LoadCommandTypes.LC_SEGMENT || type == LoadCommandTypes.LC_SEGMENT_64) {
				segments.add(new SegmentCommand(_reader, is32bit()));
			}
			else {
				type = _reader.readNextInt();
				long size = _reader.readNextUnsignedInt();
				_reader.setPointerIndex(_reader.getPointerIndex() + size - 8);
			}
		}
		sanitizeSegmentSectionNames(segments);
		return segments;
	}
Parses only this {@link MachHeader}'s {@link SegmentCommand segments}

@return A {@link List} of this {@link MachHeader}'s {@link SegmentCommand segments}
@throws IOException If there was an IO-related error
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/MachHeader.java