code: public synchronized void updateDocumentInfo(Document docvo) throws SQLException {
          if (cache_document==CACHE_OFF) {
              edadb.updateDocumentInfo(docvo);
          } else if (cache_document==CACHE_ONLY) {
              Document docvo0 = documentCache.get(docvo.getDocumentId());
              docvo0.setDocumentType(docvo.getDocumentType());
              docvo0.setOwnerId(docvo.getOwnerId());
              docvo0.setOwnerType(docvo.getOwnerType());
          } else {
              edadb.updateDocumentInfo(docvo);
              Document docvo0 = documentCache.get(docvo.getDocumentId());
              if (docvo0!=docvo) {
                  docvo0.setDocumentType(docvo.getDocumentType());
                  docvo0.setOwnerId(docvo.getOwnerId());
                  docvo0.setOwnerType(docvo.getOwnerType());
              }
          }
      }
docs: Update document information (everything but document content itself).
  The method will update only the arguments that have non-null values.
  @param docvo
  @throws SQLException