public void loadFromInt(int RxdBuffer[], int pRxData) {
        if (allAttribs != null && allAttribs.size() > 0) {
            int offset = 0;
            for (c_int c : allAttribs) {
                c.loadFromInt(RxdBuffer, pRxData + offset);
                offset += c.getLength() / 8;
            }
            Runnable r = new Runnable() {

                public void run() {
                    setChanged();
                    notifyObservers();
                }
            };
            DataStorage.executors.submit(r);
        } else {
            long v = 0;
            if (pRxData + (getLength() / 8) <= RxdBuffer.length) {
                for (int i = (length / 8) - 1; i >= 0; i--) {
                    v <<= 8;
                    v |= RxdBuffer[i + pRxData];
                }
                //TODO: signed!!!!
                if (signed) {
                    long signmask = 1 << (getLength() - 1);
                    long signbit = ((v & signmask) != 0) ? 1 : 0;
                    v &= ~signmask;


//                    long newsignmask = signbit << 63;
//                    v = v | newsignmask;
                    if (signbit == 1) {
                        v = v + getMin();
                    }

//                    System.out.println(v);
                }
                setValue(v, false);
            } else {
                //System.out.println("\tBuffer to short?");
            }
        }

    }