code: public List<BitcoinTransactionInput> parseTransactionInputs(ByteBuffer rawByteBuffer, long noOfTransactionInputs) {
  	ArrayList<BitcoinTransactionInput> currentTransactionInput = new ArrayList<>((int)noOfTransactionInputs);
  	
  	for (int i=0;i<noOfTransactionInputs;i++) {
  		// read previous Hash of Transaction
  		byte[] currentTransactionInputPrevTransactionHash=new byte[32];
  		rawByteBuffer.get(currentTransactionInputPrevTransactionHash,0,32);
  		// read previousTxOutIndex
  		long currentTransactionInputPrevTxOutIdx=BitcoinUtil.convertSignedIntToUnsigned(rawByteBuffer.getInt());
  		// read InScript length (Potential Internal Exceed Java Type)
  		byte[] currentTransactionTxInScriptLengthVarInt=BitcoinUtil.convertVarIntByteBufferToByteArray(rawByteBuffer);
  		long currentTransactionTxInScriptSize=BitcoinUtil.getVarInt(currentTransactionTxInScriptLengthVarInt);
  		// read inScript
  		int currentTransactionTxInScriptSizeInt=(int)currentTransactionTxInScriptSize;
  		byte[] currentTransactionInScript=new byte[currentTransactionTxInScriptSizeInt];
  		rawByteBuffer.get(currentTransactionInScript,0,currentTransactionTxInScriptSizeInt);
  		// read sequence no
  		long currentTransactionInputSeqNo=BitcoinUtil.convertSignedIntToUnsigned(rawByteBuffer.getInt());
  		// add input
  		currentTransactionInput.add(new BitcoinTransactionInput(currentTransactionInputPrevTransactionHash,currentTransactionInputPrevTxOutIdx,currentTransactionTxInScriptLengthVarInt,currentTransactionInScript,currentTransactionInputSeqNo));	
  	}
  	return currentTransactionInput;
  }
docs: /*
  Parses the Bitcoin transaction inputs in a byte buffer.
  
  @param rawByteBuffer ByteBuffer from which the transaction inputs have to be parsed
  @param noOfTransactionInputs Number of expected transaction inputs
  
  @return Array of transactions